您的位置:首页 > 编程语言 > PHP开发

laravel-admin列表排序在使用了$grid->model()->latest()后$grid其它加上sortable()可排序的列在排序时不起作用

2018-10-16 13:43 1196 查看

laravel-admin这个基于laravel的后台框架,简单易用,$grid的默认排序是主键升序的排列方式,但在使用了`$grid->model()->latest();`自定义默认排序后$grid其它加上sortable()可排序的列在排序时却不起作用。

 

protected function grid()
{
return Admin::grid(Company::class, function (Grid $grid) {
$grid->model()->latest();
// $grid->model()->orderBy('created_at','desc');
$grid->id('ID')->sortable();
$grid->name('公司名称');
$grid->created_at()->sortable();
$grid->updated_at()->sortable();
});
}

 

下图可以看到,点击了ID列表头后出现了升序排列图标,列表却还是按照降序的方式排列:

而将

$grid->model()->latest();
换成
$grid->model()->orderBy('created_at','desc');
后,虽然这两行代码意义一样,laravel-admin 的$grid的其它可排序列却能正常排序,截图如下:

这应该是laravel-admin 1.5.7版本的一个bug。

以上代码运行运行环境或框架版本:

  • Laravel Version: 5.5.22
  • PHP Version:7.0
  • Laravel-admin: 1.5.7
  • http://www.hao124.net/article/62
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: