php - Eloquent ORM laravel 5获取ID数组

标签 php laravel laravel-5 eloquent model

我使用的是 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/

相关文章:

php - UTF-8贯穿始终

php - 从 php 文件运行命令时出现 SQL 错误

php - 编辑具有特定 ID 的数据

php - Laravel Value() 函数未返回正确的值

mysql - 在 Laravel 应用程序中检索超过 10,000 行

php - 通过键访问数组的值

php - Laravel 请求数据时调用未定义方法 HasMany::mapInto()

laravel-5 - Vue js;Vue路由器不是简单路由中的构造函数错误

laravel - mix.copyDirectory 不是 Laravel Elixir 5 中的函数

php - 如何在 Laravel 中上传视频并将其异步转换?