27

$book = array('book1','book2'); $book 配列の要素数は可変です。
次のようなクエリを作成する必要がある 2 つの要素または 20 の要素がある場合があります。

select * from book where bookname like %book1% or bookname like %book2%

laravel 5 でこのクエリを作成するには、次のオプションがあります。

$name = DB::Table('bookinfo')
          ->select('*')
          ->wherein('bookname',$book)
          ->get();

しかし、それは演算子を使用します私は演算子=を使用する必要がありますlike

4

3 に答える 3

41

私を助けてくれてありがとう、でも私はそれを解決しました:

$book = array('book2','book3','book5');  

$name = DB::Table('bookinfo')
        ->select('BookName', 'bookId')                
        ->Where(function ($query) use($book) {
             for ($i = 0; $i < count($book); $i++){
                $query->orwhere('bookname', 'like',  '%' . $book[$i] .'%');
             }      
        })->get();
于 2015-12-17T08:58:55.250 に答える
-3
$name = DB::Table('bookinfo')
          ->select('*')
          ->where('bookname','LIKE','%'.$book[0].'%')
          ->orWhere('bookname','LIKE','%'.$book[1].'%')
          ->get();
于 2015-12-17T08:47:59.400 に答える