laravel querybuilder如何在where函数中使用 [英] laravel querybuilder how to use like in wherein function

查看:344
本文介绍了laravel querybuilder如何在where函数中使用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

$ book = array('book1','book2'); $ book数组元素的数量是可变的.它可能有2个元素或20个元素
我需要这样的查询:

$book = array('book1','book2'); $book array elements numbers are variable. it might have 2 element or 20 elements
I need to make a query like this:

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

要在laravel 5中进行此查询,有一个选项:

To make this query in laravel 5 there is an option :

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

但是它使用=运算符,我需要使用like运算符

but it use = operator I need to use like operator

推荐答案

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

Thanks everyone for helping me but i solved it by doing:

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

这篇关于laravel querybuilder如何在where函数中使用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆