1

我有一个与图片实体具有一对多关系的设备实体。就像一台设备有很多图片一样。如何以 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

4

1 回答 1

1

你在使用 Laravel 3 吗?在这种情况下,这应该可以解决问题:

return Response::eloquent(Device::with('pictures')->find(1));

如果您使用Response::eloquent的是内容类型,也会自动设置为 application/json。

编辑:如果您只想返回某些字段,则可以使用Response::json(Device::with('pictures')->lists('name', 'id'));仅返回已 JSON 化的值的数组。

于 2013-05-22T22:06:11.040 回答