2017-02-14 3 views
0

Мой запрос выглядит так на данный момент, он должен работать.Laravel 5 mysql query -> когда условие

$status = 'active'; 

$data = DB::table('applicant') 
->when($status, function($query) use ($status){ 
      return $query->where('Status', $status);}) 
->get(); 

Но я получаю эту ошибку:

Call to undefined method Illuminate\Database\Query\Builder::when() 

ответ

0

Проверьте код: закрытие не закрыта, попробуйте написать строку 5 следующим образом:

return $query->where('Status', $status);}) 
+0

жаль, что я есть те, , когда я скопировал и вставил, он не копировал. По-прежнему бросает ту же ошибку, может быть проблема с версией, поскольку она работает на laravel 5.2.39, выше версия 5.0.16. – Matt

+0

Я думаю, что это также проблема с версией: функция when() была добавлена ​​в 5.2.34 – dparoli

+0

знаете ли вы об альтернативном способе сделать это? – Matt