2013-07-12 17 views
26

Laravel kullanarak ve bir formda bir seçim kutusu oluşturuyorum. Seçme kutusunu oluşturmak için yardımcıyı kullanıyorum ve her şey iyi çalışıyor.laravel eloquent listeleri - Sütun Değerlerinin Bir Listesini Sıralama

Ben bir veritabanından seçme kutusu için veri almak ve veri almak için aşağıdaki kullanın:

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

Yine tüm Tamam çalışır ve bu beklenen dizi döndürür

Benim sorunum olsa ben olduğunu Bu listeyi sıralama gibi görünmüyor - orderBy() eklemeyi denedim ama neşe yok.

Yerel bir php işlevi kullanmak dışında bir listeyi sıralamak için bir laravel yöntemi var mı?

+0

Büyük soru: laravel sürüm 5.3lists başlayarak


, kullanımdan kaldırıldı yerine pluck kullanacak. Normalde Laravel ile bir seçim yapmak için bir dizi oluşturmak için sorgudaki vb. –

cevap

63

İstediğinizi koymak ve sonra da listeleyebilirsiniz. Yani: sürece lists zincirinin son yöntem olması nedeniyle, diğer yöntemler sadece çalışıyor

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

.

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

Diziyi aldığınızda php dizi sıralamalarını da kullanabilirsiniz [PHP: Sıralama dizileri] (http://es1.php.net/manual/en/array.sorting.php) –

+0

mükemmel - teşekkürler. Listelerden sonra sipariş vermeye çalışıyordum. Bu işlevlerin sırasını anlamadım. Tekrar teşekkürler – Ray

+0

Teşekkürler, teşekkürler, teşekkür ederim @ umut-sirin. Detroit'ten çok aşk! –

4

Deneyebilirsin: Bu işe yaramazsa

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

, ucunda bir ->get() atmak:

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

Merhaba - Bunu denedim ama nesneyi amaçlanan html select helper'da uygulamak için uğraştım. Sonuç doğruydu ama uygulanamadı. Gereksinim duyduğum verileri tam olarak içerdiğinden listeler daha kolaydı – Ray