heseya/laravel-searchable
Composer 安装命令:
composer require heseya/laravel-searchable
包简介
Search trait for Eloquent models
README 文档
README
🔍 Search trait for Eloquent models.
Installation
$ composer require heseya/laravel-searchables
How to use it?
class User extends Model { use HasCriteria; protected $criteria = [ 'id', // default criterion 'email' => Equals::class, 'name' => Like::class, 'description' => Custom::class, ]; }
class Controller { function index(Request $request) { User::searchByCriteria([ 'email' => 'example@example.com', 'name' => 'John' ])->get(); // you can extend query User::searchByCriteria($request->all()) ->where('public', true) ->get(); } }
Available criteria
- Equals
- Like
Custom criterion
final class CustomCriterion extends Criterion { public function query(Builder $query): Builder { // do whatever you want return $query; } }
Change default criterion in model
class User extends Model { protected function getDefaultCriterion(): string { return Equals::class; } }
Testing
To run the tests, run the following command from the project folder.
$ composer test
License
Package released under the MIT License. See the LICENSE file for details.
统计信息
- 总下载量: 4.25k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-08-12