Rutorika Sortable 使用教程

Rutorika Sortable 使用教程

rutorika-sortableAdds sortable behavior to Laravel Eloquent models项目地址:https://gitcode.com/gh_mirrors/ru/rutorika-sortable

1、项目介绍

Rutorika Sortable 是一个为 Laravel Eloquent 模型添加排序功能的扩展包。它支持单表排序、分组排序以及多对多关系排序。通过简单的配置和使用,可以轻松实现模型数据的排序管理。

2、项目快速启动

安装

首先,通过 Composer 安装 Rutorika Sortable:

composer require rutorika/sortable

配置

config/app.php 中添加服务提供者:

'providers' => [
    // 其他服务提供者
    Rutorika\Sortable\SortableServiceProvider::class,
],

发布配置文件:

php artisan vendor:publish

config/sortable.php 中配置需要排序的模型:

'entities' => [
    'articles' => \App\Article::class,
    // 其他模型
],

路由

添加排序路由到控制器:

Route::post('sort', '\Rutorika\Sortable\SortableController@sort');

使用

在需要排序的模型中使用 SortableTrait

use Rutorika\Sortable\SortableTrait;

class Article extends Model
{
    use SortableTrait;
}

3、应用案例和最佳实践

单表排序

假设有一个 Article 模型,需要对其进行排序:

class Article extends Model
{
    use SortableTrait;
}

在前端通过 AJAX 请求排序:

$.ajax({
    url: '/sort',
    method: 'POST',
    data: {
        type: 'articles',
        order: [3, 1, 2] // 新的排序顺序
    }
});

分组排序

如果需要按某个字段分组排序,例如按 category_id 分组:

class Article extends Model
{
    use SortableTrait;

    protected static $sortableGroupField = 'category_id';
}

多对多关系排序

假设有一个 Post 模型和 Tag 模型,需要对每个 PostTag 进行排序:

class Post extends Model
{
    use SortableTrait;

    public function tags()
    {
        return $this->belongsToMany(Tag::class)->withPivot('position');
    }
}

config/sortable.php 中配置多对多关系:

'entities' => [
    'posts' => [
        'entity' => \App\Post::class,
        'relation' => 'tags'
    ],
],

4、典型生态项目

Rutorika Sortable 可以与其他 Laravel 扩展包结合使用,例如:

  • Laravel Admin: 在后台管理系统中集成排序功能。
  • Voyager: 在 Voyager 后台中使用排序功能管理数据。
  • Laravel Backpack: 在 Backpack 中实现自定义排序功能。

通过这些生态项目的结合,可以进一步提升 Laravel 应用的开发效率和用户体验。

rutorika-sortableAdds sortable behavior to Laravel Eloquent models项目地址:https://gitcode.com/gh_mirrors/ru/rutorika-sortable

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

戴艺音

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值