This is where your description should go. Limit it to a paragraph or two. Consider adding a small example.
You can install the package via composer:
composer require bisual/laravel-shortcuts
You can publish and run the migrations with:
php artisan vendor:publish --tag="laravel-shortcuts-migrations"
php artisan migrate
You can publish the config file with:
php artisan vendor:publish --tag="laravel-shortcuts-config"
This is the contents of the published config file:
return [
];
Optionally, you can publish the views using
php artisan vendor:publish --tag="laravel-shortcuts-views"
You can build different formats of query params to handle sort, select and with in different depths of your query.
To indicate depth within your query param 'with' you should use this format.
?with=relation..relation2..relation3
The '..' character indicates one level deeper.
You can simply indicate the field to order by entering it in your query as you have done all your life.
?order_by=created_at
But you can also choose which fields of your relations to order and in which depth to do it, as well as indicate 'order_by_direction' in the same string.
?order_by=relation..relation2..relation3.created_at:desc
If you do not indicate your 'order_by_direction' with ':' next to the field to sort by, it will sort in 'asc' direction by default.
You can indicate a single field of your main table to get only that information (you don't need to add the id).
?select=name
And once again, you can choose what information about your relationship you receive at the same time. Different fields of the same relationship level will be separated by '|'.
?select=relation..relation2..relation3.name|description
In all cases, to separate different relationships, regardless of the depth level, they must be separated by a ','.
?with=users,relation..relation2
?order_by=users.name,relation..relation2.created_at:desc
?select=users.name,relation..relation2.title|description|created_at
NOTE: The query param 'order_by_direction' is not necessary when using laravel-shortcuts since it is applied directly in 'order_by', using it could cause errors.
Please see CHANGELOG for more information on what has changed recently.
The MIT License (MIT). Please see License File for more information.