2015-09-26 1 views
0

У меня есть запрос, как this-Преобразование SQL в Laravel Query Builder со сложными И ИЛИ

SELECT * FROM subscribers_lists 
    WHERE Country='Germany' 
    AND (City='Berlin' OR name LIKE '%Mün%'); 

Я хочу, чтобы преобразовать его в поисковом запросе Laravel Query Builder. Итак, что я сделал -

DB::table('Customers') 
    ->where('subscribers_lists.Country', '=', $user_country) 
    ->or_where('subscribers_lists.City', '=', $user_city) 
    ->or_where('subscribers_lists.name', 'like', '%' . $searchParameter . '%'); 

Но это не работает отлично. Любое предложение, пожалуйста?

Спасибо за помощь.

ответ

1

Вы можете использовать Закрытие для создания сложной детали.

DB::table('subscribers_lists') 
    ->where('subscribers_lists.Country', '=', $user_country) 
    ->where(function($query) use ($user_city, $searchParameter) { 
     $query->where('subscribers_lists.City', '=', $user_city) 
       ->orWhere('subscribers_lists.name', 'like', '%' . $searchParameter . '%'); 
    }); 

Вы можете прочитать больше о сложных запросов в документации

 Смежные вопросы

  • Нет связанных вопросов^_^