craftcodery / laravel-searchable
Searchable trait for Laravel Eloquent models
Installs: 3 149
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 0
Open Issues: 0
Requires
- php: ^8.1
- laravel/framework: ^10.0|^11.0
README
This package makes it easy to search your Laravel models.
Installation
You can install the package via composer:
composer require craftcodery/laravel-searchable
Usage
Preparing your models
In order to search through models you'll have to use the Searchable
trait and add the toSearchableArray
method.
namespace App\Models; use Illuminate\Database\Eloquent\Model; use CraftCodery\Searchable\Searchable; class User extends Model { use Searchable; /** * Get the searchable data array for the model. * * @return array */ public function toSearchableArray() { return [ 'columns' => [ 'users.name' => 60, 'users.email' => 60, 'locations.city' => 40, ], 'joins' => [ 'locations' => [ 'users.location_id', 'locations.id' ], ], 'groupBy' => 'users.id' ]; } }
Searching models
To search your models, just use the search
method.
$users = User::search('john')->get();
Configuring search matchers
You can configure the different search matchers and weights given to each used by the package.
php artisan vendor:publish --tag=searchable-config
License
The MIT License (MIT). Please see License File for more information.