Download the PHP package binarcode/laravel-restable without Composer
On this page you can find all versions of the php package binarcode/laravel-restable. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download binarcode/laravel-restable
More information about binarcode/laravel-restable
Files in binarcode/laravel-restable
Package laravel-restable
Short Description Lightweight Laravel API.
License MIT
Homepage https://github.com/binarcode/laravel-restable
Informations about the package laravel-restable
Laravel Restable
Installation
You can install the package via composer:
Prerequisite
To associate search with a model, the model must implement the following interface and trait:
Usage
Using this lightweight package you can mainly customize search, matches and sorts.
Search
Define columns you want to be searchable using $search model property:
Now in the query of your request you can use the ?search= to find over your model. Let's assume this is the URL for
geting the list of dreams:
Then in the controller you may have something like this:
This way Restable will find your dreams by name column and will return a Builder instance, so you can paginate
or do whatever you want over that query.
The query filtering is something like this: $query->where('column_name', 'like', "%$value%";
Match
Matching by a specific column is a more strict type of search. You should define the columns you want to match along with the type:
The URL may look like this:
So Restable will make a query like this:
The controller could be same as we had for the search.
Sort
You can also specify what columns could be sortable:
The query params for sort could indicate whatever is asc or desc sorting by using the - sign:
Sorting desc by id column:
Sorting asc by id column:
Customizations
Model Methods
You can use methods to return your search, matches or sorts from the model definition:
Custom filters
Instead of using the default methods for filtering, you can have your own:
So you can now match by something property, and implement your own search into the closure.
You can also create your own Match filter class, and implement the search there:
Then use your MatchSomething filter:
The same you could do for Search or Sort filter, by extending the BinarCode\LaravelRestable\Filters\SearchableFilter or BinarCode\LaravelRestable\Filters\SortableFilter filters.
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
- Eduard Lupacescu
- All Contributors
License
The MIT License (MIT). Please see License File for more information.