My very first Laravel package
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
tests
.gitignore
LICENCE.txt
composer.json
phpunit.xml
readme.md

readme.md

Orderable Laravel Package

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.