laravel使用DB模糊查詢問題
PHPz
PHPz 2017-05-16 16:49:26
0
2
727

文件有範例: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學習者快速成長!