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., (*1)
Instalation
Add the Orderable package to your composer.json
file., (*2)
{
"require": {
"zigastrgar/orderable": "^1.0"
}
}
OR, (*3)
Simply run this in command line, (*4)
composer require zigastrgar/orderable
Usage
Go to any model and add this to the model., (*5)
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
., (*6)
Running "Orderable"
It's super simple., (*7)
Article::all();
Apply only specific rule
From now on, you can also do something like this., (*8)
Article::order(); //Equals to Article::all();
or, (*9)
Article::order(['title']);
and only rule for title
will bi applied., (*10)
Running without "Orderable"
Same. Very simple stuff., (*11)
Article::unorderable();
No scopes applied., (*12)
Remove specific rule
Article::unorderable(['title']);
In this case the rule for title won't be applied., (*13)