我经常发现通过主键 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/