Download the PHP package luchmewep/granular-search without Composer
On this page you can find all versions of the php package luchmewep/granular-search. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download luchmewep/granular-search
More information about luchmewep/granular-search
Files in luchmewep/granular-search
Package granular-search
Short Description Granular Search and Aggregation provides four (4) usable traits for model controllers which are useful for searching and aggregation.
License MIT
Homepage https://github.com/luchmewep/granular-search
Informations about the package granular-search
GranularSearch
Granular Search is an Eloquent model utility for implementing searching, filtering, and sorting with fewer lines of code.
Installation
Via Composer
Usage
To use this package, you have two options. You can either implement it on your Eloquent models, or you can just use the main method of this package which is the getGranularSearch
(see GranularSearchTrait
).
However, to fully utilize this package, the preferred way would be to implement the prepared Traits and Abstract Models. If still in doubt, you can just use the non-model intrusive way which is using the GranularSearch
class itself.
Implement on Eloquent Models
There are two (2) ways to implement Granular Search on Eloquent models:
- By extending the
AbstractGranularModel
orAbstractGranularUserModel
for User-based models. (Highly Suggested)
- By using the
GranularSearchableTrait
on your Eloquent models.
Extending the Abstract Models
Currently, there are two (2) models to choose from. For models that are unrelated to authentication, you can just use the AbstractGranularModel
. As for authentication-related ones, using AbstractGranularUserModel
is advised.
These two abstract classes are not really hard to understand since they just use the GranularSearchTrait
and GranularSearchableTrait
. They are just prepared beforehand to minimize trait-related bugs.
Once extended, you should set up these protected static fields.
Tinker Examples
- Normal Search / Filter
- Filtering using model's own fields
- Filtering using
q
as parameter
- Relational Search / Filter
- Filtering through
relations
using other model's prepended fields
- Filtering through
relations
usingq
parameter
Implement Manually
If you are not prepared to try it out on your current Eloquent models, you might want to test it out first using the GranularSearch
class itself. Since the getGranularSearch is a static method, we don't need to instantiate the GranularSearch class. Here are the parameters for the static method:
Tinker Examples
- Filtering using model's own fields
- Filtering using
q
as parameter
Change log
Please see the changelog for more information on what has changed recently.
Testing
Contributing
Please see contributing.md for details and a todolist.
Security
If you discover any security related issues, please email author email instead of using the issue tracker.
Credits
- James Carlo Luchavez
- All Contributors
License
license. Please see the license file for more information.