Sortby 和 orderby 不起作用 laravel

Sortby and orderby not working laravel

大家好,出于某种原因,当我尝试使用 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');
}
}

尝试:

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

这会将 table 中的行排序为 created_at

希望对您有所帮助!

如果你想得到最旧的created_at这样查询会更容易

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

按降序获取用户的测试。

这里有一个 "pro" 提示:您应该在 TestUser 之间设置一个 relation。并输入你的方法(你的路线看起来像 Route::get'(/users/{user}/tests', 'UserTestsController@index');。然后你可以像这样写你的查询:

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

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