2013-07-12 7 views
26

Utilizzo di laravel e sto creando una casella di selezione in un modulo. Ho usato l'helper per creare la casella di selezione e tutto funziona correttamente.elenchi eloquenti di laravel - Ordinamento di un elenco di valori di colonna

a recuperare i dati per la casella di selezione da un database e utilizzare la seguente per recuperare i dati:

$data = model::lists('name','id') 

Anche in questo caso tutto funziona bene e questo restituisce l'array atteso

Il mio problema però è che non riesco a ordinare questo elenco - ho provato ad aggiungere orderBy() ma nessuna gioia.

Oltre all'uso di una funzione nativa di php, esiste un metodo laravel per ordinare un elenco?

+0

grande domanda. Normalmente è necessario inserire dove, ecc. Nella query per creare una matrice per popolare una selezione con Laravel. –

risposta

63

Si può mettere quello che vuoi, e poi inserirlo. Voglio dire:

model::orderBy('orderByColumn')->lists('name', 'id'); 

Finché lists è l'ultimo metodo della catena, altri metodi funziona bene.


partire dalla laravel versione 5.3lists sta per essere deprecato, utilizzare pluck invece:

model::orderBy('orderByColumn')->pluck('name', 'id'); 
+1

Puoi anche usare l'ordinamento di array php una volta ottenuto l'array [PHP: Ordinamento di matrici] (http://es1.php.net/manual/en/array.sorting.php) –

+0

eccellente, grazie. Stavo cercando di ordinare dopo le liste. Non avevo realizzato l'ordine di queste funzioni. Grazie ancora – Ray

+0

Grazie, grazie, grazie @ umut-sirin. Molto amore da Detroit! –

4

Si può provare:

$data = model::select('name','id')->orderBy('name'); 

Se questo non funziona, gettare un ->get() alla fine:

$data = model::select('name','id')->orderBy('name')->get(); 
+0

Ciao - Ho provato anche questo, ma ho faticato ad implementare l'oggetto nell'helper di selezione html a cui i dati erano destinati. Il risultato è stato corretto ma non è stato possibile implementarlo. Le liste erano più facili in quanto contenevano i dati esatti di cui avevo bisogno – Ray

Problemi correlati