0
Ich habe 2 Modelle: Kategorien und Artikel. Ich weiß nicht, wie man foreach Schleife mit geschachteltem Feld bildet.Laravel 5.2 verschachtelt foreach
Kategorie Modell:
<?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');
}
Artikel Modell:
<?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');
}
}
In meinem Controller Ich tue dies:
foreach($categories as $category) {
$data['categories'][] = [
'id' => $category ->id,
'name' => $category ->name,
'items_count' => ?
];
}
Ich brauche so etwas zu bekommen.
{
"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",
}
],
},
]
}
Helfen Sie mir, meinen Code zu verbessern.