나는 간단한 작업에 갇혀있다. 이 전화에서 오는 결과를 주문하면됩니다
$results = Project::all();
Project
모델은 어디에 있습니까 ? 나는 이것을 시도했다
$results = Project::all()->orderBy("name");
그러나 작동하지 않았습니다. 테이블에서 모든 데이터를 가져 와서 주문하는 가장 좋은 방법은 무엇입니까?
답변
실제로 쿼리 내에서이 작업을 수행 할 수 있습니다.
$results = Project::orderBy('name')->get();
적절한 순서로 모든 결과를 반환합니다.
답변
객체 컬렉션을 반환하므로 all ()을 계속 사용하려는 경우 orderBy (쿼리 수준) 대신 sortBy (컬렉션 수준)를 계속 사용할 수 있습니다.
오름차순
$results = Project::all()->sortBy("name");
내림차순
$results = Project::all()->sortByDesc("name");
자세한 내용은 컬렉션 관련 설명서를 확인하십시오.
https://laravel.com/docs/5.1/collections
답변
또한 이전 답변을 강화하기 위해 두 번째 매개 변수로 하나를 추가하여 내림차순 desc
또는 오름차순으로 정렬 할 수도 있습니다 asc
.
$results = Project::orderBy('created_at', 'desc')->get();
답변
2017 년 업데이트
Laravel 5.4는 orderByDesc () 메소드를 쿼리 빌더에 추가했습니다.
$results = Project::orderByDesc('name')->get();
답변
desc로 날짜에 대한 결과가 필요한 동안
$results = Project::latest('created_at')->get();
답변
이 작업을 수행:
$results = Project::orderBy('name')->get();
이 작업을 수행하지 마십시오 :
$results = Project::all()->sortBy('name');
왜?
간단히 말해서, 첫 번째 방법은 두 번째 방법보다 빠릅니다.