2016-07-18 45 views
0

我在Laravel Eloquent中做了一個foreach循環,在每個foreach中我需要爲SQL查詢添加一個新的Where語句。我試過,但它不工作:向Laravel中的查詢添加新的WHERE語句

  $list = Records::whereNull('deleted_at'); 

      foreach ($search as $keyword) 
      { 
       $list = $list->orWhere("title", 'like', '%'.$restriction.'%'); 
      } 
      $list = $list->get(); 

這應該然後返回:

$list = Records::whereNull('deleted_at')->orWhere("title", 'like', '%'.$restriction[0].'%')->orWhere("title", 'like', '%'.$restriction[1].'%')->get(); 

,但它只是似乎返回的所有記錄。請注意,我只是在那裏添加whereNull('deleted_at'),否則我有或沒有另一個where語句。

有沒有辦法做到這一點?

回答

1

變化$keyword代替$restriction

 $list = Records::whereNull('deleted_at'); 

     foreach ($search as $keyword) 
     { 
      $list = $list->orWhere("title", 'like', '%'.$keyword.'%'); 
     } 
     $list = $list->get(); 
+1

現在的工作就像一個魅力,謝謝! –