Looking to hire Laravel developers? Try LaraJobs
This package is not available.

laravel-sortable maintained by lassehaslev

Last update
2016/11/28 11:46 (dev-master)
Links
Downloads
2 603

Comments
comments powered by Disqus

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