I'm trying to upgrade my project L5.1 -> L5.2. In upgrade guide there's one thing which isn't clear for me:
The
lists
method on the Collection, query builder and Eloquent query builder objects has been renamed topluck
. The method signature remains the same.
That's ok, rename refactoting from lists()
to pluck()
isn't a problem. But what with useful pluck()
method which was in L5.0 and L5.1?
From the 5.0 documentation:
Retrieving A Single Column From A Row
$name = DB::table('users')->where('name', 'John')->pluck('name');
What is the alternative for old pluck()
method in L5.2?
UPDATE:
Example:
var_dump(DB::table('users')->where('id', 1)->pluck('id'));
L5.1:
// int(1)
L5.2:
// array(1) { [0]=> int(1) }
pluck()
meant select 1 field from a row. Then in 5.1, they removedpluck()
and replaced it withvalue()
. Then in 5.2, they replacelists()
, which returns the whole column, withpluck()
. So if you've been around since 4.2, you might get confused :/ – Frimaire