2015-01-25 4 views
0

Я использовал следующий код для условного запроса. Но я не получил результат в инструкции foreach, но если я использую $ member-> first(), я получаю результат. Это правильный способ использовать условное, где в laravel?laravel eloquent multiple where statement

$member = Member:query(); 
if(!empty($param['activity'])){ 
       $member->where('activity', 'LIKE', $param['activity'] .'%'); 
      } 
      if(!empty($param['MemberName'])){ 
       $member->where('MemberName', 'LIKE', $param['MemberName'] .'%'); 
      } 
      if(!empty($param['Designation'])){ 
       $member->where('Designation', 'LIKE', $param['Designation'] .'%'); 
      } 
    $member->take(100)->skip($offset)->get(); 
    foreach ($member as $arr) 
      { 
    .... 
    } 

ответ

1

Это совершенно правильный способ сделать это. Однако вам не хватает одной мелочи. get() вернет результат , но$member по-прежнему будет экземпляром построителя запросов. Что вам нужно сделать, это присвоить результат $member

$member = $member->take(100)->skip($offset)->get(); 
Смежные вопросы