Я пытаюсь обновить свой проект L5.1 -> L5.2. В руководстве по обновлению есть одна вещь, которая не ясна для меня:
Метод
listsв сборщике, построителе запросов и объектах запроса запроса Eloquent был переименован вpluck. Подпись метода остается той же.
- как сделать laravel query builder, как активная запись codeigniter
- laravel query php как получить максимальное значение в пределах диапазона
- Застройщик запросов Laravel Общая ошибка 2031
- paginator call on query builder не возвращает объект paginator в laravel 4 (в конкретном случае)
- Laravel собственная переменная в области
Это нормально, переименовать refactoting из lists() в pluck() не проблема. Но что с полезным методом pluck pluck() который был в L5.0 и L5.1?
Из документации 5.0 :
Получение одиночной колонки из строки
$name = DB::table('users')->where('name', 'John')->pluck('name');
Какая альтернатива для старого метода pluck pluck() в L5.2?
ОБНОВИТЬ:
Пример:
var_dump(DB::table('users')->where('id', 1)->pluck('id'));
L5.1:
// int(1)
L5.2:
// array(1) { [0]=> int(1) }
Текущей альтернативой для pluck() является value() .
В исходном примере почему бы не использовать метод select () в запросе базы данных?
$name = DB::table('users')->where('name', 'John')->select("id");
Это будет быстрее, чем использование фреймворка PHP, поскольку он будет использовать SQL-запрос для выбора строки для вас. Для обычных коллекций я считаю, что это не так, но поскольку вы используете базу данных …
Larvel 5.3: Указание пункта выбора