laravel使用DB模糊查询问题
PHPz
PHPz 2017-05-16 16:49:26
0
2
726

文档有个示例:https://laravel.com/docs/5.3/...
如下:

$users = DB::table('users')
                ->where('name', 'like', 'T%')
                ->get();

问题1:
上面的示例只搜索一个字段name,如果我有一张articles表,有title和content两个字段需要模糊搜索,应该怎么写呢?

$keywords= $request->input('keywords');
$articles = DB::table('articles')
                ->where('content', 'like', $keywords.'%') //这一句里面不止content,而是title和content两个字段
                ->get();

问题2:
搜索中文还需要别的什么设置或操作吗?

PHPz
PHPz

学习是最好的投资!

全部回复(2)
为情所困
$keywords= $request->input('keywords');
$articles = DB::table('articles')
                ->where('content', 'like', $keywords.'%')
                ->orWhere('title', 'like', $keywords.'%')
                ->get();

使用Like搜索中文是不需要其它设置或操作的,对于这种全文搜索操作不建议使用like,最好是使用搜索引擎如ElasticSearch或者Sphinx等工具来实现

小葫芦

全文搜索可以试试

select * from articles where match (title,content) against ('keywords');
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!