在Laravel中,可以只选择一个字段并将其作为一个集/数组返回。
例如,考虑与表Foo
相关联的模型foos
,其中包含字段id
,a
,b
,c
。
考虑以下示例数据:
(1, 10, 15, 20)
(1, 12, 15, 27)
(1, 17, 15, 27)
(1, 25, 16, 29)
(1, 28, 16, 40)
现在,如果我想创建一个返回a
b
15
所有值的查询,我可以这样做:
Foo::select('a')->where('b', 15)->get();
然而,这将返回一个雄辩的集合。
相反,我怎样才能返回这样的数组:
[10, 12, 17]
答案 0 :(得分:38)
只需使用pluck()
和->toArray()
:
Foo::where('b', 15)->pluck('a')->toArray();
答案 1 :(得分:1)
待办事项
Foo::where('b', 15)->lists('a')->all();
这将为您提供一系列ID。例如[2,3,5]
答案 2 :(得分:1)
不推荐使用lists方法,并且需要一些参数,因此,如果你想获得数组格式的所有属性,请按照这种方式使用它。
Foo::select('a')->where('b', 15)->get()->all();