Я работаю над проектом Laravel. У меня есть многоуровневые категории в моем проекте, и я создаю метод для получения всех продуктов каждой категории и ее дочерних элементов, поэтому проблема заключается в том, что продукты являются массивом, и у меня много проблем с ним, например, разбиение на страницы,where (), orderBy и ...
Я хочу изменить свой метод на более удобный, чтобы я мог использовать его для вышеуказанных задач
Кстати, у меня есть имя метода products (), которое дает всепродукты категории
вот мой метод, который дает мне множество продуктов
public function getAllCategoriesProducts($cat_id){
$allProducts = [];
foreach(ProductCategory::find($cat_id)->products()->get() as $product){
$allProducts[] = $product;
}
foreach(ProductCategory::find($cat_id)->children()->get() as $subCategory){
if($subCategory->children()->exists()){
foreach($subCategory->children()->get() as $subSubCategory){
foreach($subSubCategory->products()->get() as $product){
$allProducts[] = $product;
}
}
if($subSubCategory->children()->exists()){
foreach($subSubCategory->children()->get() as $subSubSubCategory){
foreach($subSubSubCategory->products()->get() as $product){
$allProducts[] = $product;
}
if($subSubSubCategory->children()->exists()){
foreach($subSubSubCategory->children()->get() as $subSubSubSubCategory){
foreach($subSubSubSubCategory->products()->get() as $product){
$allProducts[] = $product;
}
}
}
}
}
}
}
return $allProducts;
}