Я использую этот EloquentFilter для фильтрации базы данных на внешнем интерфейсе, и работает контроллер ниже
public function indexArtisan(Request $request)
{
$workers = Worker::filter($request->all())->get();
$states = DB::table('states')->pluck("name", "id");
return view ('artisans', compact('states'))->with(['workers' => $workers]);
}
Однако, когда я пытаюсь использовать запрос WHERE для добавления условий к даннымвызван с контроллером, условие WHERE выполнено и данные возвращены, но мой фильтр больше не работает.domain.com?name=xyz
public function indexArtisan(Request $request)
{
$work = DB::table('workers')->where('career', '=', 'artisan')->get();
$workers = Worker::filter($request->all())->get();
$states = DB::table('states')->pluck("name", "id");
return view ('artisans', compact('states','work'))->with(['workers' => $workers]);
}
Также пробовал
$work = DB::table('workers')->where('career', '=', 'artisan')->get();
$worker = $work->filter($request->all());
$states = DB::table('states')->pluck("name", "id");
return view ('artisans', compact('states'))->with(['worker' => $worker]);
Я получаю
Как выполнить WHEREсостояние без нарушения фильтра Я прочитал https://laravel.com/docs/5.6/queries#conditional-clauses Я до сих пор не могу понять, что я делаю неправильно.