Здравствуйте, подскажите пожалуйста, вложенность категорий обеспечивает в базе ключ - parent_id,
модель содержит такой вот метод:
public function childrenCategories()
{
return $this->hasMany('App\Models\Admin\Category','parent_id');
}
Нужно построить дерево категорий получаю категорию вот так:
$category = Category::with('childrenCategories')->find($request->input('id'));
А потом вывожу вот так через рекурсию:
public static function formatCategoryTree($inputData)
{
$response = [];
foreach ($inputData as $category) {
$response[] = [
'id' => $category->id,
'name' => $category->name,
'children' => ($category->childrenCategories->isNotEmpty()) ?
FormattingCategory::formatCategoryTree($category->childrenCategories) : [],
];
}
return $response;
}
И для одной из категорий получается 18 запросов к бд, я так понимаю чем будет глубже вложенность тем больше запросов будет к бд, подскажите пожалуйста как можно уменьшить количество запросов, заранее благодарю за ответ.