$ 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/