Мне часто очень полезно индексировать мои результаты с помощью идентификатора первичного ключа.Laravel Eloquent get() с индексом первичного ключа
Пример:
$out = [];
$users = User::where('created_at', '>=', '2015-01-01')->get();
foreach ($users as $user) {
$out[$user->id] = $user;
}
return $out;
Есть в любом случае сделать это в одном кадре с красноречив? Не полезно использовать индекс 0 ... n.
Просто из интереса, что случай использования здесь? – Wader
@Wader Вариант использования заключается в том, что я получаю быстрый поиск первичного ключа. isset ($ out [2134]) - постоянный поиск из-за hashmap. Вместо того, чтобы делать цикл for для поиска 2134 – Yada
Извините, если я неправильно понял, но это не то, что [$ collection-> getDictionary()] (http://laravel.com/api/5.1/Illuminate/Database/ Eloquent/Collection.html # method_getDictionary) делает? Итак: '$ users = User :: where ('created_at', '> =', '2015-01-01') -> get() -> getDictionary();' –