大家好,因为某些原因,当我尝试使用sortby或orderby时,它不起作用。谁能帮我?提前致谢
以下是我尝试的代码,我想获取最新的时间戳,但它无效。
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 :(得分:0)
尝试:
$data = test::where('user_id', $id)->orderBy('created_at', 'desc')->first();
这将按created_at
排序表中的行。
希望这能帮到你!
答案 1 :(得分:0)
如果您想获得最早的created_at
,那么查询会更容易
$data = test::where('user_id', ,'=', $id)->oldest();
以降序获得用户的测试。
以下是“专业”提示:您应在Test
和User
之间设置relation。并输入你的方法(你的路线看起来像Route::get'(/users/{user}/tests', 'UserTestsController@index');
。然后你可以写下你的查询:
public function index(User $user)
{
$data = $user->tests()->oldest();
return view('tests.index')
->with('data', $data);
}