我正在使用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 )
Zakaria Acha.. 159
你可以使用lists()
:
test::where('id' ,'>' ,0)->lists('id')->toArray();
注意:如果您以Studly Case
格式定义模型,则更好Test
.
你也可以使用get()
:
test::where('id' ,'>' ,0)->get('id');
更新:( 对于版本> = 5.2)
该lists()
方法在新版本中已弃用>= 5.2
,现在您可以使用pluck()
方法:
test::where('id' ,'>' ,0)->pluck('id')->toArray();
with pluck('id')数组是数组('0'=> 12,'1'=> 14)等,当在WhereIn('id',$ array)中使用时,它不是通过id选择,而是通过数组选择关键,所以0,1 ... (3认同)
George.. 15
从一个集合,你可以做的另一种方式是:
$collection->pluck('id')->toArray()
这将返回一个索引数组,例如,在whereIn查询中可以通过laravel完全使用.
你可以使用lists()
:
test::where('id' ,'>' ,0)->lists('id')->toArray();
注意:如果您以Studly Case
格式定义模型,则更好Test
.
你也可以使用get()
:
test::where('id' ,'>' ,0)->get('id');
更新:( 对于版本> = 5.2)
该lists()
方法在新版本中已弃用>= 5.2
,现在您可以使用pluck()
方法:
test::where('id' ,'>' ,0)->pluck('id')->toArray();
从一个集合,你可以做的另一种方式是:
$collection->pluck('id')->toArray()
这将返回一个索引数组,例如,在whereIn查询中可以通过laravel完全使用.