定制 oddvalue/eloquent-sortable 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

oddvalue/eloquent-sortable

最新稳定版本:v2.1.0

Composer 安装命令:

composer require oddvalue/eloquent-sortable

包简介

Some additional features on top of https://github.com/spatie/eloquent-sortable

README 文档

README

Some additional features on top of Spatie's Eloquent Sortable

Latest Version on Packagist GitHub Tests Action Status Total Downloads Coverage

This package is an extension of Spatie's excellent Eloquent Sortable. It adds the following additional features:

  • New methods
    • $model->moveBefore(int|Sortable $target): void
    • $model->moveAfter(int|Sortable $target): void
    • $model->moveBetween(int|Sortable $before = null, Sortable $after = null): void
    • $model->moveTo(int|Sortable $newPosition): void

Note: The move methods rebuild the entire sequence so this package is not recommended for very large datasets.

Installation

You can install the package via composer:

composer require oddvalue/eloquent-sortable

Usage

Implement the interface and use the trait.

class MyModel extends Model implements \Oddvalue\EloquentSortable\Sortable
{
    use \Oddvalue\EloquentSortable\SortableTrait;
}
# New model automatically sorted to the end of the list upon creation
$model = MyModel::create(['title' => 'foo']);

# Move the model before the 5th item in the list
$model->moveBefore(MyModel::where('order_column', 5)->first());
// OR
$model->moveBefore(5);

# Move the model after the 5th item in the list
$model->moveAfter(MyModel::where('order_column', 5)->first());
// OR
$model->moveAfter(5);

# Move the model between the 5th and 6th item in the list
$model->moveBetween(
    MyModel::where('order_column', 5)->first(), 
    MyModel::where('order_column', 6)->first()
);
// OR
$model->moveBetween(5, 6);
# This is useful when using a javacript library that provides the node before
# and after the location an item is dropped

# Move the model to the 5th item in the list
$model->moveTo(MyModel::where('order_column', 5)->first());
// OR
$model->moveTo(5);

Testing

composer test

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

Credits

License

The MIT License (MIT). Please see License File for more information.

统计信息

  • 总下载量: 123.17k
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 2
  • 点击次数: 2
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2022-07-22