我有一个与图片实体有一对多关系的设备实体。就像一个设备有很多图片。如何在JSON中输出所有设备属性和图片数组?
当我尝试:
dd(Device::find(1)->pictures);
我得到了一些laravel对象以及一些额外的信息。我试图在某些方面做到这一点,但没有设法得到一个简单的图片对象(或数组数组)的数组
虽然这有效:
foreach (Device::find(1)->pictures as $picture) {
$data['pictures']['path'] = $picture->path;
}
dd($data['pictures']);
以这种方式形成数组似乎很奇怪
基本上我需要输出json和一对多对象的数组,比如图片和其他一些对象。所以我会得到类似的东西:
["name": "myDevice", "price": "15", "pictures": [...], "another": [...]]
我正在使用laravel 3
答案 0 :(得分:1)
您使用的是Laravel 3吗?在这种情况下,这应该可以解决问题:
return Response::eloquent(Device::with('pictures')->find(1));
如果您使用的是Response::eloquent
,则内容类型也会自动设置为application / json。
编辑:如果您只想返回某些字段,可以使用Response::json(Device::with('pictures')->lists('name', 'id'));
返回已经JSONified的值的数组。