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 enter image description here

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;

my output is like this enter image description here

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

تعليقات

المشاركات الشائعة من هذه المدونة

How to Create Treeview with Bootstrap and jQuery

jQuery Datatables with PHP, MySQL and AJAX Example

How to Add Images to Dropdown List using jQuery