Laravel Eloquent get() 按主键 id 索引

标签 laravel hashmap eloquent

我经常发现通过主键 id 索引我的结果非常有用。

例子:

$out = [];

$users = User::where('created_at', '>=', '2015-01-01')->get();

foreach ($users as $user) {
    $out[$user->id] = $user;
}

return $out;

无论如何,是否可以使用 Eloquent 一次性完成此操作?使用 0...n 索引没有用。

最佳答案

您可以通过在您的集合上使用 getDictionary() 来完成此操作。

像这样:

$users = User::where('created_at', '>=', '2015-01-01')->get()->getDictionary();

注意:在较新版本的 Laravel (5.2+) 中,删除了 getDictionary();可以使用 keyBy() 代替:
$users = User::where('created_at', '>=', '2015-01-01')->get()->keyBy('id');

关于Laravel Eloquent get() 按主键 id 索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31591757/

相关文章:

php - 在 laravel 5.3 中查找用户配置文件匹配

php - 如何将代码从数据库类切换到 Eloquent 查询?拉维

jquery 表单过滤器在每次选择后不会重置

laravel - Laravel 中未定义路由登录

java - 为什么这段代码有时会抛出 NullPointerException?

java - Java 中可排序的类似 HashMap 的数据结构?

php - eloquent 只获取第一个 Active 查询

postgresql - 如何在cmd中登录postgreSQL

php - Laravel 在继续其他功能之前检查用户是否具有特定角色

java - 如何统计key的值并排序?