Am'm-a blocat pe o sarcină simplă. Am doar nevoie pentru a comanda rezultatelor din acest apel
$results = Project::all();
În cazul în care "Proiect" este un model. Am'am incercat acest
$results = Project::all()->orderBy("name");
Dar nu't de lucru. Care este cea mai bună modalitate de a obține toate datele dintr-un tabel și de a lua-le-a ordonat?
Ai putea folosi în continuare sortBy (la nivelul colecției) în loc de orderBy (la nivel de interogare) dacă totuși doriți să utilizați toate() deoarece acesta returnează o colecție de obiecte.
Ordine Crescătoare
$results = Project::all()->sortBy("name");
Ordinea Descrescătoare
$results = Project::all()->sortByDesc("name");
A verifica afară de documentația despre Colecțiile pentru mai multe detalii.
În plus, doar pentru a-și sprijini fostul răspunsuri, ar putea fi sortate fel de bine, fie în ordine descrescătoare desc
sau ascendentă " asc " ordine prin adăugarea, fie ca al doilea parametru.
$results = Project::orderBy('created_at', 'desc')->get();
Sper că acest lucru vă ajută.
A FACE ACEST LUCRU:
$results = Project::orderBy('name')->get();
DON'T FACE ACEST LUCRU:
$results = Project::all()->sortBy('name');
De CE? Pe scurt, prima abordare este mai rapidă decât cea de a doua abordare.
Notă, puteți face:
$results = Project::select('name')->orderBy('name')->get();
Acest lucru generează o interogare, cum ar fi:
"SELECT name FROM proyect ORDER BY 'name' ASC"
În unele aplicații, atunci când PB nu este optimizat și interogarea este mult mai complex, și ai nevoie de a preveni de a genera un ORDIN DE la sosire SQL, puteți face:
$result = Project::select('name')->get();
$result = $result->sortBy('name');
$result = $result->values()->all();
Acum este php care pentru rezultatul.