zigastrgar/orderable

Ordering package for Laravel 5.x

Installs: 628

Dependents: 0

Suggesters: 0

Security: 0

Stars: 20

Watchers: 2

Forks: 0

Open Issues: 0

Type:laravel-package

v1.1.0 2016-10-08 11:15 UTC

This package is auto-updated.

Last update: 2024-10-29 05:16:16 UTC


README

This is my very first Laravel package. I find it useful for me :) When I work with projects where I need to run a lot of ORDER BY queries.

Instalation

Add the Orderable package to your composer.json file.

{
    "require": {
        "zigastrgar/orderable": "^1.0"
    }
}

OR

Simply run this in command line

composer require zigastrgar/orderable

Usage

Go to any model and add this to the model.

use ZigaStrgar\Orderable\Orderable;

class Article extends Model {
    use Orderable;
    
    public function orderable(){
        return [
            'id' => 'DESC',
            'title' => 'ASC',
            'user_id'
        ];
    }
}

If you don't use the key like in user_id case it will default to DESC.

Running "Orderable"

It's super simple.

Article::all();

Apply only specific rule

From now on, you can also do something like this.

Article::order(); //Equals to Article::all();

or

Article::order(['title']);

and only rule for title will bi applied.

Running without "Orderable"

Same. Very simple stuff.

Article::unorderable();

No scopes applied.

Remove specific rule

Article::unorderable(['title']);

In this case the rule for title won't be applied.