Laravel Searchy是一个易上手的、 轻量级的、支持MySQL的Laravel搜索扩展包,使用该扩展包可以简单高效的实现基于模型的数据查询搜索功能,该扩展包还可以基于你所启用的搜索引擎实现模糊搜索和其它加权机制。此外,不需要服务器安装任何其它软件即可开始使用该扩展包。
安装
我们使用Composer来安装该扩展包,在composer.json的require项中添加如下两个依赖:
"require": {
"tom-lingham/searchy" : "2.*"
}
然后运行composer update将依赖下载到vendor目录。
安装完成后需要注册服务提供者到config/app.php的providers:
TomLingham\Searchy\SearchyServiceProvider::class
顺便在config/app.php的aliases中注册相应门面:
'Searchy' => TomLingham\Searchy\Facades\Searchy::class
如果要搜索用户(对应数据表users)的名字和Email:
$users = Searchy::users('name', 'email')->query('John Smith')->get();
查询多个字段
例如,你想要搜索用户的名字、Email和用户名,可以这样调用:
$users = Searchy::users('name', 'email', 'username')->query('John Smith')->get();
如果需要动态传入搜索字段,可以以数组形式传递参数:
$users = Searchy::users(['name', 'email', 'username'])->query('John Smith')->get();