詹姆斯·薛 / laravel-sortable
为Eloquent模型提供排序行为
1.1.3
2019-07-12 08:42 UTC
Requires
- php: >=7.0.0
README
此包提供了一个特质,可以为Eloquent模型添加排序行为。
新记录模型的排序列的值由该模型所有记录的排序列的最大值加1确定。
安装
此包可以通过Composer安装。
composer require james.xue/laravel-sortable
使用方法
要将排序行为添加到您的模型中,您必须
-
使用特质
James\Sortable\SortableTrait;
;使用特质
James\Sortable\Sortable
; -
可选地指定将用作排序列的列。默认为
sort_field
。
示例
use James\Sortable\SortableTrait; use James\Sortable\Sortable; class MyModel extends Eloquent implements Sortable { use SortableTrait; public $sortable = [ 'sort_field' => 'view', 'sort_when_creating' => true, ]; ... }
如果您未设置值 $sortable['sort_field']
,则包将假定您的排序列名称为 sort_field
。
如果您未设置值 $sortable['sort_when_creating']
,则包将自动将最高的排序编号分配给新的模型;
假设 MyModel
的数据库表为空
$myModel = new MyModel(); $myModel->save(); // sort_field for this record will be set to 1 $myModel = new MyModel(); $myModel->save(); // sort_field for this record will be set to 2 $myModel = new MyModel(); $myModel->save(); // sort_field for this record will be set to 3
您也可以移动一个模型
$myModel = new MyModel(); $myModel->where('id', $id)->first()->move('up'); // up、down、top、end
许可证
MIT许可证(MIT)。请参阅许可证文件获取更多信息。