Laravel和Eloquent一样有数组值吗?

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)


Ami*_*Dev 8

我会为你编码:

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

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

})->get();
Run Code Online (Sandbox Code Playgroud)

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