【发布时间】:2016-07-12 18:07:37
【问题描述】:
我有 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",
}
],
},
]
}
帮助我改进我的代码。
【问题讨论】:
标签: php arrays foreach laravel-5 laravel-5.2