Я пытаюсь получить категории, подкатегории и продукты в виде "дерева" из моей базы данных.Я новичок в Laravel, и я не знаю, как мне лучше написать это действие с помощью красноречивых методов.У меня есть 2 таблицы: Продукты и Категории у каждого продукта есть category_id, который является внешним ключом таблицы категорий
вот мой код:
$categories = Category::with('products')->where('id', $category->id)->get()->toArray();
foreach ($categories as $key => $value) {
$categories[$key]['children'] = Category::with('products')->where('parent_id', $value['id'])->get()->toArray();
}
это мой результат и его штраф
«результат»: [
{
"id": 2,
"name": "Root 2",
"parent_id": null,
"products": [],
"children": [
{
"id": 4,
"name": "First child of Root 2",
"parent_id": 2,
"products": [
{
"id": 5,
"category_id": 4,
"name": "مهسا واثقی",
"description": "Aut eum et rerum dolorum blanditiis et itaque ipsum. Reiciendis consectetur magni est veritatis qui. Eos veniam quo aspernatur exercitationem vel incidunt. Rem aut sunt ab exercitationem.",
"price": "58.00",
"type": "video",
"disabled": 0,
"created_at": "2019-02-03 22:38:37",
"updated_at": "2019-02-03 22:38:37"
},
]
},
{
"id": 5,
"name": "Second child of Root 2",
"parent_id": 2,
"products": []
},
{
"id": 6,
"name": "Third child of Root 2",
"parent_id": 2,
"products": []
}
]
}
],