У меня есть три таблицы:
products
таблица (id
, name
) ingredients
таблица (id
, ingredient_name
) products_ingredients
таблица (product_id
, ingredient_id
)
У меня есть отношение, определенное в Product
public function ingredients(){
return $this->hasMany('App\ProductIngredient','product_id','id');
}
Когда я перечисляю продукты, используя
$products = Product::where('category_id',$cat->id)->with('ingredients')->get();
Я получаю этот вывод
"products": [{
"id": 1,
"name": "Hesp",
"category_id": 1,
"ingredients": [{
"id": 41,
"product_id": 1,
"ingredient_id": 4,
},
{
"id": 42,
"product_id": 1,
"ingredient_id": 5,
}]
}]
Что правильно.
Я хочу добавить название ингредиента в список ингредиентов, например,
"products": [{
"id": 1,
"name": "Hesp",
"category_id": 1,
"ingredients": [{
"id": 41,
"product_id": 1,
"ingredient_id": 4,
"ingredient_name": "some name" // I want to add this field
},
{
"id": 42,
"product_id": 1,
"ingredient_id": 5,
"ingredient_name": "some name" // I want to add this field
}]
}]
Я хочу вернуть это как JSON для использования в API, а не в блейде, где я могу вызывать другие отношения.
Как мне этого добиться?