我想通过ID检索元素。
在我的刀片文件中:
{{ $auctionStatuses }}
这将输出:
[
{
"id":1,
"name":"Awaiting customer action",
"created_at":"2018-10-04 10:14:08",
"updated_at":"2018-10-04 10:14:08"
},
{
"id":2,
"name":"Transfer in progress",
"created_at":"2018-10-04 10:15:11",
"updated_at":"2018-10-04 10:15:11"
},
{
"id":3,
"name":"Completed",
"created_at":"2018-10-04 10:15:14",
"updated_at":"2018-10-04 10:15:14"
}
]
通过id字段进行引用时,我想输出名称
由于来自mongodb的一些数据,我无法使用标准关系
我已经尝试过此{{ $auctionStatuses['3'] }}
但这显然不存在。
我猜很理想,我想做这样的事情
{{ $auctionStatuses[*]->id['3']->name }}
有没有一种方法可以做我需要的事情而无需遍历json数组?
答案 0 :(得分:3)
仅一行:-
$auctionStatuses->toArray()[array_search(3,array_column($auctionStatuses->toArray(),'id'))]['name']
toArray()
将laravel集合转换为数组的方法。
array_search
将搜索数组元素并返回索引
array_column
将返回带有指定列的值
答案 1 :(得分:1)
您可以使用:
$auctionStatuses->firstWhere('id',3)->name;