Laravel集合将键值转换为键关联数组

Laravel集合将键值转换为键关联数组,laravel,collections,eloquent,Laravel,Collections,Eloquent,我使用这个函数:$assets->pull('url') 它输出:['link','link1','link2'] 如何将其转换为:[{url:'link'},{url:'link1'},{url:'link2'}]您可以向关系查询添加函数,以仅返回url字段。这样你会得到想要的结果 $assets = auth()->user()->assets()->select('url')->get(); 要返回仅包含模型上特定字段的集合,可以添加字段列表数组,作为模型上get

我使用这个函数:
$assets->pull('url')
它输出:
['link','link1','link2']

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

您可以向关系查询添加函数,以仅返回
url
字段。这样你会得到想要的结果

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

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

ModelName::get(['id', 'url']);
或者通过将字段列表作为参数传递给
select
方法

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

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

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

您的集合是否来自对模型执行的查询?它来自一个关系您能否向代码显示您如何获得
$assets
?是的,
$assets=auth()->user()->assets我提供了一些代码bellowCool,但在我的例子中,我认为一个“神奇的”??收集方法更合适。在我看来,收集是非常糟糕的记录,可能有一种方法可以做到这一点为什么收集方法会更好?您将从数据库中获取更多数据,并在内存中进行筛选?不,这是因为控制器的设计目的——主要是获取数据。我有一个vue前端,它需要laravel提供的url列表