如何在Laravel中返回数组而不是集合?

时间:2016-03-08 01:26:54

标签: laravel model laravel-5

在Laravel中,可以只选择一个字段并将其作为一个集/数组返回。

例如,考虑与表Foo相关联的模型foos,其中包含字段idabc

考虑以下示例数据:

(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]

3 个答案:

答案 0 :(得分:38)

只需使用pluck()->toArray()

Foo::where('b', 15)->pluck('a')->toArray();

Laravel's pluck() method

Laravel's toArray() method

答案 1 :(得分:1)

待办事项

Foo::where('b', 15)->lists('a')->all();

这将为您提供一系列ID。例如[2,3,5]

答案 2 :(得分:1)

不推荐使用lists方法,并且需要一些参数,因此,如果你想获得数组格式的所有属性,请按照这种方式使用它。

Foo::select('a')->where('b', 15)->get()->all();