duanbi5906 2015-12-17 08:30
浏览 38
已采纳

laravel query builder如何在其中使用函数

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

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

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

but it use = operator I need to use like operator

  • 写回答

3条回答 默认 最新

  • du9537 2015-12-17 08:58
    关注

    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();
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?