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
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/112810.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...