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


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列表頭后出現了升序排列圖標,列表卻還是按照降序的方式排列:

laravel-admin sortable() 列表排序無效

而將$grid->model()->latest();換成$grid->model()->orderBy('created_at','desc');后,雖然這兩行代碼意義一樣,laravel-admin 的$grid的其它可排序列卻能正常排序,截圖如下:

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM