2014-05-21 4 views
0

Laravel Eloquent 고급 쿼리에서 orderby를 사용하여 데이터를 정렬하고 싶습니다. 여기 내 코드 :orderby가 Laravel Eloquent 고급 쿼리에서 작동하지 않습니다.

$users = User::where(function($query){ 

     $query->orderBy('created_at', 'DESC'); 

    })->get()->toArray(); 
    var_dump($users); 

하지만 작동하지 않습니다. 대신 orderby를 다음과 같이 사용하면 :

$users = User::orderBy('created_at', 'DESC')->get()->toArray(); 
    var_dump($users); 

작동합니다.

누구나 고급 쿼리를위한 orderby 작동 방법을 제안 할 수 있습니까? 감사합니다

+0

"function"안에있는 쿼리는 실제로 * sub * 쿼리이므로 정렬 결과가 상위 ​​쿼리에 영향을 미치지 않습니다 . 글쎄, 실제로 그것은 단지 추측이지만, 그것은 당연합니다 : P –

답변

1

나는 여러 가지 조합을 시도하고 orderBy가 쿼리 함수 외부에 있어야합니다 (아니면 어쩌면 마지막이어야합니까?). 다음은 작동하는 코드입니다 :

+0

나는 같은 경험을 해왔습니다. – jmadsen