lassehaslev/laravel-sortable
2,579
1
| Install | |
|---|---|
composer require lassehaslev/laravel-sortable |
|
| Latest Version: | 0.0.1 |
| Last Updated: | Nov 28, 2016 |
| Links: | GitHub · Packagist |
Maintainer: LasseHaslev
lassehaslev/laravel-sortable
Add sorting logic to your eloquent models
Install
Run
composer require lassehaslev/laravel-sortable
Create your package and add the following line to providers in config/app.php
LasseHaslev\LaravelSortable\Providers\ServiceProvider::class,
Usage
Include LasseHaslev\LaravelSortable\Traits\Sortable to models to make it sortable
<?
class TestObject extends Illuminate\Database\Eloquent\Model {
use LasseHaslev\LaravelSortable\Traits\Sortable;
}
You can also overwrite the column name that holds the sorting value
<?
class TestObject extends Illuminate\Database\Eloquent\Model {
use LasseHaslev\LaravelSortable\Traits\Sortable;
protected $sortingColumnName = 'order'; // Default
}
Api
// Get sorted list
$sortedCollection = Object::sorted()->all();
// Move object to position
Object::moveTo( $objectToMove, $position );
// Move to front
Object::moveToFront( $objectToMove );
// Move to back
Object::moveToBack( $objectToMove );
// Increment position by one
Object::incrementPosition( $objectToMove );
// Decrement position by one
Object::decrementPosition( $objectToMove );
Development
composer install
yarn
Runing tests
# Run one time
npm run test
# Automaticly run test on changes
npm run dev