Download the PHP package nicolaslopezj/searchable without Composer
On this page you can find all versions of the php package nicolaslopezj/searchable. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download nicolaslopezj/searchable
More information about nicolaslopezj/searchable
Files in nicolaslopezj/searchable
Informations about the package searchable
Searchable, a search trait for Laravel
Searchable is a trait for Laravel 4.2+ and Laravel 5.0 that adds a simple search function to Eloquent Models.
Searchable allows you to perform searches in a table giving priorities to each field for the table and it's relations.
This is not optimized for big searches, but sometimes you just need to make it simple (Although it is not slow).
Installation
Simply add the package to your composer.json
file and run composer update
.
Usage
Add the trait to your model and your search rules.
Now you can search your model.
Search Paginated
As easy as laravel default queries
Mix queries
Search method is compatible with any eloquent method. You can do things like this:
Custom Threshold
The default threshold for accepted relevance is the sum of all attribute relevance divided by 4. To change this value you can pass in a second parameter to search() like so:
The above, will return all users in order of relevance.
Entire Text search
By default, multi-word search terms are split and Searchable searches for each word individually. Relevance plays a role in prioritizing matches that matched on multiple words. If you want to prioritize matches that include the multi-word search (thus, without splitting into words) you can enable full text search by setting the third value to true. Example:
If you explicitly want to search for full text matches only, you can disable multi-word splitting by setting the fourth parameter to true.
How does it work?
Searchable builds a query that search through your model using Laravel's Eloquent. Here is an example query
Eloquent Model:
Search:
Result:
Contributing
Anyone is welcome to contribute. Fork, make your changes, and then submit a pull request.