Laravel和Eloquent一样有数组值吗?

时间:2014-12-29 21:23:04

标签: laravel laravel-4 eloquent

如何使用多个值进行搜索?

$searchWords = explode(' ', Input::get('search'));

然后我得到了一系列用于搜索的单词。

我怎样才能传递它:

$pages = Page::where('content', 'LIKE', '%'.$singleWord.'%')->distinct()->get();

一个循环无法工作,然后它总是覆盖$ pages;然后它始终保持最新的搜索:

foreach($searchWords as $word){
    $pages = Page::where('content', 'LIKE', '%'.$word.'%')->distinct()->get();
}

2 个答案:

答案 0 :(得分:8)

循环是解决方案,但您只需添加where条件而不执行查询

$pages = Page::query();
foreach($searchWords as $word){
    $pages->orWhere('content', 'LIKE', '%'.$word.'%');
}
$pages = $pages->distinct()->get();

答案 1 :(得分:2)

我会为你编码:

$pages = Page->where(function($query) use($word){

foreach($searchWords as $word){
    $query->orWhere('content', 'LIKE', '%'.$word.'%');
}

})->get();

你可以尝试一下,我希望这会有所帮助:)