我使用的是 Eloquent ORM laravel 5.1,我想返回一个大于 0 的 id 数组,我的模型叫做 test
。
我试过了:
$test=test::select('id')->where('id' ,'>' ,0)->get()->toarray();
它返回:
Array ( [0] => Array ( [id] => 1 ) [1] => Array ( [id] => 2 ) )
但我希望结果是这样的简单数组:
Array ( 1,2 )
最佳答案
您可以使用 lists()
:
test::where('id' ,'>' ,0)->lists('id')->toArray();
注意:最好以 Studly Case
格式定义模型,例如 Test
。
您也可以使用 get()
:
test::where('id' ,'>' ,0)->get('id');
更新: (对于 >= 5.2 的版本,请改用“pluck()”)
lists()
方法在新版本 >= 5.2已弃用
,现在你可以使用 pluck()
方法代替:
test::where('id' ,'>' ,0)->pluck('id')->toArray();
注意: 如果您需要 string,例如在 blade 中,您可以使用没有 toArray() 部分的函数,例如:
test::where('id' ,'>' ,0)->pluck('id');
关于php - Eloquent ORM laravel 5获取ID数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34308169/