Download the PHP package alimousavi/filoquent without Composer
On this page you can find all versions of the php package alimousavi/filoquent. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download alimousavi/filoquent
More information about alimousavi/filoquent
Files in alimousavi/filoquent
Package filoquent
Short Description A powerful Laravel package for filtering Eloquent models using HTTP query parameters.
License MIT
Homepage https://github.com/alimousavidev/filoquent
Informations about the package filoquent
Filoquent
Filoquent is a powerful Laravel package that allows you to filter Eloquent models using HTTP query parameters seamlessly. This package simplifies the process of building dynamic query filters in your Laravel applications, making it easier to handle complex filtering logic directly through query strings.
Features
- Dynamic Query Filtering: Filter Eloquent models dynamically based on HTTP query parameters.
- Easy Integration: Quickly integrate with your existing models and controllers.
- Extensible: Create custom filters to extend the package functionality.
- Supports Relationships: Filter models based on relationships and nested relationships.
- Flexible and Configurable: Configure default behaviors and override them as needed.
Installation
You can install the package via Composer:
Usage
Use the Trait
To start using the package, simply use the Filterable
trait in your Eloquent models:
Create a Filter Class
Filoquent provides an artisan command to generate filter classes easily:
This command creates a new filter class in the app/Filters
directory.
Defining Custom Filters
You can define custom filters by creating filter classes. Each filter class should extend the FilterAbstract
class:
Applying Filters
In your controller, you can now apply filters based on query parameters:
Search Feature
Filoquent supports searching across multiple columns, including relationships using dot notation.
Example: Basic Search
To search across specified fields, include the search query parameter in your request:
In your filter class, define the searchables
array:
Example: Nested Search with Dot Notation
To search within relationships, use dot notation:
Define nested searchable fields in your filter class:
This will search the name
field on the users
table and the bio
and location
fields on the related profile
model.
Contributing
Contributions are welcome!
License
This package is open-sourced software licensed under the MIT.