Я надеюсь, что вы можете понять вопрос, дело в том, что я создал два метода в моей модели, один для фильтрации записей по категориям, а другой по городам.
Но когда я go мой контроллер, в индексе функции publi c, я думаю, он не может вызывать оба одновременно, надеюсь, это лучше понять в примере.
public function **scopeBuscadorCategoria** (Builder $query) {
if (session()->has('s')){
$query->where('nombre', 'LIKE', "%". session('s') ."%");
}
if (session()->has('dcategoria')){
$query->where('categoria_id', session('dcategoria'));
session()->remove('dcategoria');
}
return $query->paginate();
}
public function **scopeBuscadorLocalidad** (Builder $query) {
if (session()->has('dlocalidad')){
$query->where('localidad_id', session('dlocalidad'));
session()->remove('dlocalidad');
}
return $query->paginate(21);
}
Как видите, эти это два метода, которые я создал в модели.
public function index (){
**$destinos = Destino::buscadorcategoria();**
$categorias = Categoria::paginate(6);
$localidades = Localidad::all();
return view('destinos.index', compact('destinos', 'categorias', 'localidades'));
}
И я думаю, что здесь проблема в контроллере: "$ destinos = Destino :: buscadorcategoria () ; "Я могу указать только 1 метод, в этом случае он фильтрует записи категорий, но если мне нужно отфильтровать по городам, я должен удалить метод категорий и указать город, что-то вроде" $ destinos = Destino :: buscadorlocalidad () ; "
Можете ли вы вызвать два метода в переменной $ destinos? Что вы могли бы сделать в этом случае? Мне нужно отфильтровать по категориям и по городам.
Я надеюсь, что вы можете мне помочь, большое спасибо всем.