Mysql
 sql >> Database >  >> RDS >> Mysql

Laravel:ottenere un singolo valore da una query MySQL

ennesima modifica :A partire dalla versione 5.2 pluck è non deprecato più, ha appena ottenuto un nuovo comportamento (lo stesso di lists in precedenza - vedere la nota a margine sotto):

modifica :A partire dalla versione 5.1 pluck è deprecato, quindi inizia a utilizzare value invece:

DB::table('users')->where('username', $username)->value('groupName');    
// valid for L4 / L5.0 only
DB::table('users')->where('username', $username)->pluck('groupName');

questo restituirà un singolo valore di groupName campo della prima riga trovata.

NOTA A LATERALE reg. Commento di @TomasButeler :Poiché Laravel non segue un controllo delle versioni ragionevole, a volte ci sono casi come questo. Al momento di scrivere questa risposta avevamo pluck metodo per ottenere SINGLE valore dalla query (Laravel 4.* e 5.0).

Quindi, con L5.1 pluck è stato deprecato e, invece, abbiamo ottenuto value metodo per sostituirlo.

Ma per renderlo divertente, pluck infatti non se n'era mai andato. Invece ha appena ottenuto un comportamento completamente nuovo e... lists deprecati metodo.. (L5.2) - che è stato causato dall'incoerenza tra Query Builder e metodi di raccolta (in 5.1 pluck ha funzionato in modo diverso sulla raccolta e sulla query, ecco il motivo).