| Package Data | |
|---|---|
| Maintainer Username: | LasseHaslev |
| Maintainer Contact: | lasse@haslev.no (Lasse S. Haslev) |
| Package Create Date: | 2016-11-25 |
| Package Last Update: | 2016-11-28 |
| Language: | PHP |
| License: | Unknown |
| Last Refreshed: | 2025-12-11 15:01:58 |
| Package Statistics | |
|---|---|
| Total Downloads: | 2,157 |
| Monthly Downloads: | 9 |
| Daily Downloads: | 2 |
| Total Stars: | 1 |
| Total Watchers: | 1 |
| Total Forks: | 0 |
| Total Open Issues: | 0 |
Add sorting logic to your eloquent models
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,
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
}
// 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 );
composer install
yarn
# Run one time
npm run test
# Automaticly run test on changes
npm run dev