Laravel集合将键值转换为键assoc数组

时间:2019-03-20 14:02:57

标签: laravel collections eloquent

我使用以下功能:$assets->pluck('url')

它输出:['link','link1','link2']

如何将其转换为:[{url: 'link'}, {url: 'link1'}, {url: 'link2'}]

3 个答案:

答案 0 :(得分:2)

您可以将函数添加到关系查询中,以仅返回url字段。这样您将获得所需的结果。

$assets = auth()->user()->assets()->select('url')->get();

答案 1 :(得分:1)

您可以使用->only()收集方法来指定要返回的字段:

$assets = auth()->user()
    ->assets
    ->only(['url'])
    ->all();

答案 2 :(得分:0)

要返回仅包含模型上某些字段的集合,您可以添加一组字段列表,以作为模型上get方法的参数进行检索

ModelName::get(['id', 'url']);

或通过将字段列表作为参数传递给select方法

ModelName::where([...])->select('id', 'url')->get();