0
私は2つのモデルを持っています:カテゴリーとアイテム。私は入れ子配列でforeachループを作る方法を知らない。Laravel 5.2ネストされたforeach
カテゴリーモデル:
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Category extends Model
{
public static function getAll() {
$categories= Category::orderBy('id', 'ASC')->get();
return $categories;
}
public function items() {
return $this->hasMany('App\Item', 'category_id');
}
項目モデル:私はこれをやっている私のコントローラで
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Item extends Model
{
public static function getAll() {
$items = Item::orderBy('id', 'DESC')->get();
return $items;
}
public function category() {
return $this->belongsTo('App\Category');
}
}
:
foreach($categories as $category) {
$data['categories'][] = [
'id' => $category ->id,
'name' => $category ->name,
'items_count' => ?
];
}
私はこのような何かを取得する必要があります。
{
"categories": [
{
"id": 1,
"name": "cat_name_1",
"items_count": 6,
"items": [
{
"id": "1",
"name": "item_name",
"category_id": "1",
}
],
},
{
"id": 2,
"name": "cat_name_1",
"items_count": 7,
"items": [
{
"id": "2",
"name": "item_name",
"category_id": "2",
}
],
},
{
"id": 3,
"name": "cat_name_1",
"items_count": 4,
"items": [
{
"id": "3",
"name": "item_name",
"category_id": "3",
}
],
},
]
}
コードを改善するお手伝いをしてください。