В моем приложении 3 таблицы. products
, category
, attributes
Продукт имеет много категорий и категорий имеет много атрибутов.
Я хочу получить все products
с Category
деталями и catgoey attributes
подробно в формате json. Как я могу это сделать?
В настоящее время я пытаюсь использовать эту функцию в моем контроллере:
public function index()
{
$productDetails = Product::all();
if(!empty($productDetails)) {
foreach ($productDetails as $key => $value) {
//print_r($value->id."</br>");
}
}
}
Вывод, который я хочу:
{
"productInformation": {
"id": 1,
"name": "productone",
"status": "Active",
"CategoryDetails": [
{
"id": 1,
"product_id": 1,
"categoryTitle": "categoryone",
"attribute" : [
{
"id": 1,
"product_id": 1,
"category_id": 1,
"title": "attrib-title-one",
},
{
"id": 2,
"product_id": 1,
"category_id": 1,
"title": "attrib-title-two",
},
]
}
]
}
}
отношение:
Вкл. categories
Стол
$table->foreign('product_id')->references('id')->on('products');
Вкл. attributes
Таблица:
$table->foreign('product_id')->references('id')->on('products');
$table->foreign('category_id')->references('id')->on('categories');
Как я могу это сделать?