hnhdigital-os / laravel-model-search
Query a model.
3.0.2
2023-11-21 01:36 UTC
Requires
- php: ^8.0
- laravel/framework: ^9.21|^10.0
Requires (Dev)
- orchestra/testbench: ^7.0|^8.0
- phpunit/phpunit: ^9.3
README
___ ___ _ _ _____ _
| \/ | | | | / ___| | |
| . . | ___ __| | ___| \ `--. ___ __ _ _ __ ___| |__
| |\/| |/ _ \ / _` |/ _ \ |`--. \/ _ \/ _` | '__/ __| '_ \
| | | | (_) | (_| | __/ /\__/ / __/ (_| | | | (__| | | |
\_| |_/\___/ \__,_|\___|_\____/ \___|\__,_|_| \___|_| |_|
Search a model by providing an array of attributes. Correctly builds relationships and the appropiate query. Provides inline operaters for improved user searching.
This package has been developed by H&H|Digital, an Australian botique developer. Visit us at hnh.digital.
Documentation
Requirements
- PHP 8.0.2
- Laravel 9
Install
Via composer:
$ composer require hnhdigital-os/laravel-model-search ~3.0
Configuration
Enable the trait on any given model.
use HnhDigital\ModelSearch\ModelTrait as ModelSearchTrait; class SomeModel extends Model { use ModelSearchTrait; }
Usage
A simple search could be:
SomeModel::search(['title' => 'Test']); SomeModel::search(['title' => [['=', 'Test']]]); SomeModel::search(['title' => '= Test']); SomeModel::search(['title' => '!= Test']);
For a better look at what is possible, check out the tests/ModelTest.php
test case for an extensive list of possiblities.
Contributing
Please see CONTRIBUTING for details.
Credits
License
The MIT License (MIT). Please see License File for more information.