2017-11-09 1 views
0

안녕하세요 여러분, sortby 또는 orderby를 사용하려고하면 어떤 이유로 작동하지 않습니다. 누구든지 나를 도울 수 있습니까? 미리 감사드립니다.Sortby 및 orderby 작업하지 않음 laravel

여기 제가 시도한 코드가 있습니다. 최신 타임 스탬프를 가져오고 싶지만 작동하지 않습니다.

public function getTest($id){ 
$data = test::where('user_id',$id)->sortByDesc('created_at')->get(); 
//I also tried doing this 
$data = test::where('user_id',$id)->orderBy('created_at', 'desc')->get(); 
    if(count($data)>0){ 
     return view('test',compact('data')); 
    }else{ 
    return view('test'); 
} 
} 
+0

보십시오.'$ 데이터 = 시험 :: 곳 ('USER_ID', $ 아이디) -> 해 orderBy ('created_at을 ','desc ') -> first();' –

+0

"작동하지 않습니다"이외의 오류 메시지가 발생했을 때 도움이 될만한 경우 – Amarnasan

+0

@HirenGohel 작동하지만 왜 작동하지 않습니까? 과거, 잘 작동했다. – Dkna

답변

0

시도 :

$data = test::where('user_id', $id)->orderBy('created_at', 'desc')->first(); 

created_at에 의해 테이블의 행을 주문합니다.

희망이 도움이됩니다. 당신이 얻고 싶은 경우에

$data = test::where('user_id', ,'=', $id)->oldest(); 

가 내림차순으로 사용자의 테스트를 얻기 위해 같은

+0

하지만이 코드는 첫 번째 행만 반환합니다 ... – Amarnasan

+0

1 행만 검색합니다. – Rits

0

는 쉬울 것 created_at 가장 오래된 쿼리합니다.

는 여기에 "프로"팁 : 당신은 relationTest 사이 싶게 User를 설정해야합니다. 그리고 당신의 방법 (경로가 Route::get'(/users/{user}/tests', '[email protected]');과 같을 것이다 typehint 당신은 다음과 같은 쿼리 작성할 수

public function index(User $user) 
    { 
     $data = $user->tests()->oldest(); 

     return view('tests.index') 
      ->with('data', $data); 
    }