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
Requires
- illuminate/support: ^5.3
Requires (Dev)
- illuminate/database: ^5.3
- phpunit/phpunit: ^5.5
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.