samrat131 / column-sortable
按数据库列或字段排序 Laravel 模型视图列表
v1.4
2020-10-05 21:51 UTC
Requires
- php: >=5.6
- illuminate/database: ^5.0|^6.0|^7.0|^8.0
- illuminate/support: ^5.0|^6.0|^7.0|^8.0
This package is auto-updated.
Last update: 2024-09-06 06:51:02 UTC
README
按数据库列或字段排序 Laravel 模型视图列表
安装
要在项目中使用此包,请使用 Composer 将包添加到您的 Laravel 应用程序中
composer require samrat131/column-sortable
编辑 config/app.php
文件并添加以下行(仅适用于低于 5.5 版本的 Laravel)
'providers' => [
...
Samrat131\ColumnSortable\ColumnSortableServiceProvider::class,
]
用法
模型
编辑任何 Laravel 模型 .php 文件,添加此包附带的可排序特性 SortableTrait
,添加 protected $columnToSort
变量,并列出需要可排序的数据库字段/列。
<?php
namespace App;
use Samrat131\ColumnSortable\SortableTrait;
class User extends Model
{
use SortableTrait;
protected $columnToSort = [
'id',
'name',
'email',
'created_at'
];
控制器
使用模型的方法 sortable()
,例如 User::sortable()->get()
或 User::sortable()->paginate(15)
<?php
namespace App\Http\Controllers;
use App\User;
use Illuminate\Http\Request;
class HomeController extends Controller
{
public function index()
{
$users = User::sortable()->get();
return view('users.index', compact('users'));
}
}
您可以设置默认的可排序参数,例如 User::sortable(['created_at', 'desc'])->get()
视图
在视图 blade.php 文件中,添加 @sortable_column('id', 'ID')
此视图方法(blade 指令)与数据库列/字段名。第一个参数(必需)是数据库字段名,第二个参数(可选)是前端显示。
<tr>
<td>@sortable_link('id', 'ID')</td>
<td>@sortable_link('name', 'Name')</td>
<td>@sortable_link('email', 'Email')</td>
<td>@sortable_link('created_at', 'Created')</td>
</tr>
此包使用字体图标(fa fa-arrow-circle-down 和 fa fa-arrow-circle-up)来表示上下箭头
感谢