use*_*734 2 laravel eloquent laravel-4
如何进行Like-query,有多个值可供搜索?
$searchWords = explode(' ', Input::get('search'));
Run Code Online (Sandbox Code Playgroud)
然后我得到了一系列为搜索提供的单词.
我怎么能通过它:
$pages = Page::where('content', 'LIKE', '%'.$singleWord.'%')->distinct()->get();
Run Code Online (Sandbox Code Playgroud)
循环不起作用,然后它总是覆盖$页面; 然后它始终保持最新的搜索:
foreach($searchWords as $word){
$pages = Page::where('content', 'LIKE', '%'.$word.'%')->distinct()->get();
}
Run Code Online (Sandbox Code Playgroud)
luk*_*ter 11
循环是解决方案,但您只需添加where条件而不执行查询
$pages = Page::query();
foreach($searchWords as $word){
$pages->orWhere('content', 'LIKE', '%'.$word.'%');
}
$pages = $pages->distinct()->get();
Run Code Online (Sandbox Code Playgroud)
我会为你编码:
$pages = Page->where(function($query) use($word){
foreach($searchWords as $word){
$query->orWhere('content', 'LIKE', '%'.$word.'%');
}
})->get();
Run Code Online (Sandbox Code Playgroud)
你可以尝试一下,我希望这会有所帮助:)
| 归档时间: |
|
| 查看次数: |
7385 次 |
| 最近记录: |