【发布时间】:2019-09-20 08:40:17
【问题描述】:
我想用 foreach 在 json 数据中的 sub 中插入一些数据
示例:
- 每间房子都有一个或多个房间
- 子屋的房间数据
这是代码:
<?php
$houses = Houses::find()->all();
foreach($houses AS $house){
$a[] = [
'house_name' => $house->name,
'color_wall' => $house->color_wall,
];
$rooms = Rooms::find()->where(['house_id' => $house->id])->all();
foreach($rooms AS $room){
$b[] = [
'room_name' => $room->name,
'color_wall' => $room->color_wall,
];
}
array_push($a,$b);
}
我希望数组看起来像这样:
[
{
'house_name' : 'house 1',
'color_wall' : 'white',
'room' : [
{
'room_name' : 'guest room',
'color_wall' : 'blue',
},
{
'room_name' : 'primary room',
'color_wall' : 'green',
}
]
}
]
但我无法将房间输入到子数组中。
[
{
'house_name' : 'house 1',
'color_wall' : 'white',
}
{
'room_name' : 'guest room',
'color_wall' : 'blue',
},
{
'room_name' : 'primary room',
'color_wall' : 'green',
}
]
【问题讨论】:
-
如果您的 Eloquent 关系已设置好,则无需手动执行此操作。
-
“我不能”是什么意思?到目前为止,您尝试过什么?