sukohi / cahen
一个主要用于 Laravel 的 PHP 包,用于自动管理数据库表排序值。
2.0.1
2017-01-30 21:15 UTC
Requires
- laravel/framework: ~5.0
This package is not auto-updated.
Last update: 2024-09-11 12:49:59 UTC
README
一个主要用于 Laravel 的 PHP 包,用于自动管理数据库表排序值。
(这是为 Laravel 5+。 针对 Laravel 4.2)
安装
在 composer.json 中添加此包名
"require": {
"sukohi/cahen": "2.*"
}
执行 composer 命令。
composer update
在 app.php 中注册服务提供者
'providers' => [
...Others...,
Sukohi\Cahen\CahenServiceProvider::class,
]
同时别名
'aliases' => [
...Others...,
'Cahen' => Sukohi\Cahen\Facades\Cahen::class
]
使用
基本
$model = YourModel::find(1);
\Cahen::move($model)->to('your-column-name', 5);
上移
\Cahen::move($model)->up('your-column-name');
下移
\Cahen::move($model)->down('your-column-name');
到第一
\Cahen::move($model)->first('your-column-name');
到最后
\Cahen::move($model)->last('your-column-name');
使用事务
\DB::beginTransaction();
if(!\Cahen::move($model)->to('your-column-name', 5)) {
\DB::rollback();
}
\DB::commit();
使用 WHERE 子句
您可以使用 where
子句对特定记录进行排序。
$model = YourModel::find(1);
\Cahen::move($model)
->where('column_1', '=', 'value')
->where('column_2', 'LIKE', '%value%')
->to('your-column-name', 5);
设置数据
您可以通过设置模型对象对特定记录进行排序。
$moving_id = 1;
$model = YourModel::find($moving_id);
$models = YourModel::where('id', '<', 5)
->where('id', '<>', $moving_id)
->get();
\Cahen::move($model)
->data($models)
->to('your-column-name', 3);
- 注意:您不能在 $models 中包含 ID 为 $moving_id 的记录。
对齐
$model = YourModel::orderBy('id', 'ASC')->get();
\Cahen::align($model, 'your-column-name');
关于排序编号
排序值从 0 开始。
许可
本软件包采用 MIT 许可证授权。
版权所有 2014 Sukohi Kuhoh