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列表