$ 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运算符

最佳答案

感谢大家的帮助,但我通过以下方法解决了问题:

$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();

关于php - laravel查询构建器如何在where函数中使用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34329886/

10-13 09:22