bisual / laravel-shortcuts
Laravel Shortcuts for Software Agencies
Requires
- php: ^8.1
- illuminate/contracts: ^13.0 | ^12.0 | ^11.0 | ^10.0 | ^9.0
- ramsey/uuid: ^4.0
- spatie/laravel-package-tools: ^1.14.0
Requires (Dev)
- larastan/larastan: ^3.0
- laravel/pint: ^1.0
- orchestra/testbench: ^8.0|^9.0|^10.0|^11.0
- pestphp/pest: ^2.1|^3.0|^4.0
- phpunit/phpunit: ^10.5|^11.5|^12.5
- spatie/laravel-ray: ^1.26
This package is auto-updated.
Last update: 2026-06-10 07:34:39 UTC
README
This is where your description should go. Limit it to a paragraph or two. Consider adding a small example.
Installation
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"
Custom query params usage
You can build different formats of query params to handle sort, select and with in different depths of your query.
-- WITH --
To indicate depth within your query param 'with' you should use this format.
?with=relation..relation2..relation3
The '..' character indicates one level deeper.
-- ORDER BY --
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.
-- SELECT --
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
⚙️ Generalities
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.
Changelog
Please see CHANGELOG for more information on what has changed recently.
License
The MIT License (MIT). Please see License File for more information.