I'm terjebak pada tugas yang sederhana. Aku hanya ingin agar hasil yang datang dari panggilan ini
$results = Project::all();
Di mana Proyek
adalah sebuah model. I've mencoba ini
$results = Project::all()->orderBy("name");
Tapi itu tidak't bekerja. Yang merupakan cara yang lebih baik untuk mendapatkan semua data dari tabel dan membuat mereka memerintahkan?
Anda masih bisa menggunakan sortir (pada kumpulan level) bukan orderBy (pada tingkat permintaan) jika anda masih ingin menggunakan semua() sejak ia mengembalikan benda-benda koleksi.
Urutan
$results = Project::all()->sortBy("name");
Urutan
$results = Project::all()->sortByDesc("name");
Periksa dokumentasi tentang Koleksi untuk rincian lebih lanjut.
Selain itu, untuk menopang mantan jawaban, itu bisa diselesaikan dan juga baik dalam turun desc
atau ascending asc
pesanan dengan menambahkan baik sebagai parameter kedua.
$results = Project::orderBy('created_at', 'desc')->get();
Semoga ini bisa membantu.
MELAKUKAN INI:
$results = Project::orderBy('name')->get();
DON'T MELAKUKAN HAL INI:
$results = Project::all()->sortBy('name');
MENGAPA? Secara singkat, pendekatan pertama lebih cepat dari pendekatan kedua.
Catatan, anda dapat melakukan:
$results = Project::select('name')->orderBy('name')->get();
Ini menghasilkan sebuah query seperti:
"SELECT name FROM proyect ORDER BY 'name' ASC"
Dalam beberapa aplikasi ketika DB tidak dioptimalkan dan query yang lebih kompleks, dan anda perlu mencegah menghasilkan ORDER BY dalam menyelesaikan SQL, anda dapat melakukan:
$result = Project::select('name')->get();
$result = $result->sortBy('name');
$result = $result->values()->all();
Sekarang adalah php yang memesan hasil.