how to display 15 product from category having multiple subcategories in random order in laravel?
I have 3 tables:
homepage
    order- integer
    status - boolean
    product_category_id - integer
category
    name- string
    slug- slug
    parent_id- integer
product
    name- string
    category_id- integer
When user wish to have categories in homepage like this 
I want to have 15 products from categories in homepage including products from subcategories in random order. So far what i have done is
 //  all categories to be posted in homepage.
        $hp_categories = HomepageCategory::asc()->active()->get();
        foreach ($hp_categories as $hp_cat) {
            // array declaration
            $cat_with_subcat_arr = [];
            // category
            $product_category = ProductCategory::where('id', $hp_cat->product_category_id)->first();            
            // push category's id to array
            array_push($cat_with_subcat_arr, $product_category->id);
            // subcategories if any.
            $product_category->childrenCategoriesIds($cat_with_subcat_arr);
            
            // product from categories and subcategories via whereIn.
            $products = Product::whereIN('product_category_id', $cat_with_subcat_arr)->inRandomOrder()->limit(15)->get();
                    
            dd($products);
        }
        return $hp_categories;
Note: I could not do it by eager loading. So, I did by simple logic but cannot pass data to view.
from Newest questions tagged laravel-5 - Stack Overflow https://ift.tt/37DxMnV
via IFTTT

 
 
 
تعليقات
إرسال تعليق