在 Laravel 中使用 Laravel Searchy 扩展包实现基于数据库的轻量级搜索功能
2016-09-03 17:41
976 查看
Laravel Searchy是一个易上手的、 轻量级的、支持MySQL的Laravel搜索扩展包,使用该扩展包可以简单高效的实现基于模型的数据查询搜索功能,该扩展包还可以基于你所启用的搜索引擎实现模糊搜索和其它加权机制。此外,不需要服务器安装任何其它软件即可开始使用该扩展包。
安装
我们使用Composer来安装该扩展包,在composer.json的require项中添加如下两个依赖:
然后运行composer update将依赖下载到vendor目录。
安装完成后需要注册服务提供者到config/app.php的providers:
顺便在config/app.php的aliases中注册相应门面:
如果要搜索用户(对应数据表users)的名字和Email:
查询多个字段
例如,你想要搜索用户的名字、Email和用户名,可以这样调用:
如果需要动态传入搜索字段,可以以数组形式传递参数:
安装
我们使用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();
相关文章推荐
- 在 Laravel 中使用 Laravel Searchy 扩展包实现基于数据库的轻量级搜索功能
- 在 Laravel 使用扩展包maatwebsite/excel 实现 Excel/CSV 文件导入导出功能
- 使用poi实现Excel导入功能,数据库基于oracle(上)
- 使用系统控件UISearchBar实现APP中搜索功能
- [置顶] ExtJs4.2应用:使用ExtJs扩展组件searchfield实现数据搜索功能
- python使用正则表达式的search()函数实现指定位置搜索功能
- 使用poi实现Excel导入功能,数据库基于oracle(下)
- 在Yii框架中使用PHPExcel扩展从数据库导出excel文件功能的实现
- 使用python代码实现三叉搜索树高效率”自动输入提示”功能
- .NET数据库编程求索之路--6.使用ADO.NET实现(三层架构篇-使用List传递数据-基于存储过程)(1)
- 使用silverlight构建一个工作流设计器(十八)-持久化数据到数据库—服务器段功能实现
- 基于.NET的分词软件设计与实现V6.0--使用数据库篇(涉及索引、聚集因子和存储过程)
- 使用AutoCompleteExtender实现搜索下拉提示框,读取数据库内容
- 基于.NET的分词软件设计与实现V6.0--使用数据库篇(涉及索引、聚集因子和存储过程)
- 【转】android利用数据库实现搜索联想功能
- java 使用正则Pattern等实现【搜索 -> 提取 -> 分割 -> 替换】功能
- C#中使用repeater控件实现List的clear,add,update,delete功能之二数据库
- 不使用数据库缓存依赖项实现同样的功能
- .NET数据库编程求索之路--6.使用ADO.NET实现(三层架构篇-使用List传递数据-基于存储过程)(2)
- 基于.NET平台的Windows编程实战(八)— 数据库管理及其他辅助功能的实现