我使用的是Eloquent ORM laravel 5.1,我想返回一个id大于0的数组,我的模型名为test。我试过:
test
$test=test::select('id')->where('id' ,'>' ,0)->get()->toarray();
它返回:
Array ( [0] => Array ( [id] => 1 ) [1] => Array ( [id] => 2 ) )
但我希望结果是这样的简单数组:
Array ( 1,2 )
wa7juj8i1#
test::where('id' ,'>' ,0)->pluck('id')->toArray();
注意:如果需要string(例如在blade中),可以使用不带**toArray()**部分的函数,例如:
test::where('id' ,'>' ,0)->pluck('id');
**更新:**适用于5.2以下的版本
您可以使用**lists()**:
lists()
test::where('id' ,'>' ,0)->lists('id')->toArray();
**注意:**最好以Studly Case定义模型,例如Test。
Studly Case
Test
您也可以使用**get()**:
get()
test::where('id' ,'>' ,0)->get('id');
evrscar22#
在Collection中,另一种方法是:
Collection
$collection->pluck('id')->toArray()
这将返回一个索引数组,例如,laravel可以在whereIn()查询中完美地使用该数组。
whereIn()
qnzebej03#
正确的答案是lists方法,它非常简单,如下所示:
lists
$test=test::select('id')->where('id' ,'>' ,0)->lists('id');
问候!
xwbd5t1u4#
您可以使用all()方法代替toArray()方法(请参阅更多信息:laravel文档):
all()
toArray()
test::where('id' ,'>' ,0)->pluck('id')->all(); //returns array
如果您需要string,则可以在不使用toArray()附件的情况下使用:
string
test::where('id' ,'>' ,0)->pluck('id'); //returns string
oiopk7p55#
如果您正在使用DB,请提供额外信息:
DB
DB::table('test')->where('id', '>', 0)->pluck('id')->toArray();
如果使用Eloquent模型:
test::where('id', '>', 0)->lists('id')->toArray();
dwbf0jvd6#
从集合***中获取模型ID为***的数组的简单方法:
$test = test::select('id')->where('id' ,'>' ,0)->get('id')->modelKeys();
irtuqstp7#
了解lists()方法
$test=test::select('id')->where('id' ,'>' ,0)->lists('id')->toArray()
abithluo8#
尽管您已标记了答案,但这是一种简单得多的方法
App\User::pluck('id')->toArray()
ckx4rj1h9#
在Laravel 8中,这对我很有效
$arr = SomeModel::where("field", value)->get()->toArray();
9条答案
按热度按时间wa7juj8i1#
注意:如果需要string(例如在blade中),可以使用不带**toArray()**部分的函数,例如:
**更新:**适用于5.2以下的版本
您可以使用**
lists()
**:**注意:**最好以
Studly Case
定义模型,例如Test
。您也可以使用**
get()
**:evrscar22#
在
Collection
中,另一种方法是:这将返回一个索引数组,例如,laravel可以在
whereIn()
查询中完美地使用该数组。qnzebej03#
正确的答案是
lists
方法,它非常简单,如下所示:问候!
xwbd5t1u4#
您可以使用
all()
方法代替toArray()
方法(请参阅更多信息:laravel文档):如果您需要
string
,则可以在不使用toArray()
附件的情况下使用:oiopk7p55#
如果您正在使用
DB
,请提供额外信息:如果使用Eloquent模型:
dwbf0jvd6#
从集合***中获取模型ID为***的数组的简单方法:
irtuqstp7#
了解lists()方法
abithluo8#
尽管您已标记了答案,但这是一种简单得多的方法
ckx4rj1h9#
在Laravel 8中,这对我很有效