Я не могу сделать этот маршрут работает ...
Мой контроллер:
public function profissionais(Request $request, $id){
$profissionais = Vinculo::where('unidade_id', '=', $id)->get();
$profissionais = $id;
return view('relatorios.profissionais', compact('profissionais'));
}
Моя форма:
<form method = "GET" action = "{{route('relatorios.profissionais', 'id')}}">
<select class = "js-example-basic-single" name = "id" required>
@foreach($unidades as $unidade)
<option value = "{{$unidade->id}}">{{$unidade->descricao}}</option>
@endforeach
</select>
<span class = "input-group-btn">
<button class = "btn btn-primary" type = "submit">Listar</button>
</span>
</form>
web.php:
Route::get('/relatorios/profissionais/{id}', 'RelatorioController@profissionais')->name('relatorios.profissionais');
Мне нравится мой маршрут: /relatorios/profissionais/4 (4 - это ID), а номер 4 - это переменная $id.
Но ури такой: relatorios/profissionais/id?id=4
Любая помощь?
вам нужно передать правильные аргументы в форме action = "{{route ('relatorios.profissionais', 4)}}"
Я вижу, что есть элемент выбора, вы либо меняете URL-адрес действия при изменении, либо не передаете этот элемент выбора
@Rafee число 4 - это пример числа, сгенерированного моей формой при выборе ввода.






Вы можете сделать это так:
Route::get('/relatorios/profissionais/{id?}', 'RelatorioController@profissionais')->name('relatorios.profissionais');
Вторым параметром помощника маршрута должно быть значение параметра, а не ключ.
{{route('relatorios.profissionais', 4)}}
Теперь, поскольку вы устанавливаете это значение из формы, вам нужно либо использовать ввод запроса вместо параметра маршрута, либо использовать javascript для изменения действия формы с помощью прослушивателя события изменения вашего элемента select.
Причина, по которой у вас есть /id, заключается в том, что 'id' является вторым аргументом. Причина, по которой у вас есть ?id=4, заключается в том, что это значение формы, а не параметр маршрута.
Вы также перезаписываете $profissionais сразу после получения коллекции.
$profissionais = $id;
Число 4 - это только пример, мне нравится получать значение из формы
Хорошо, либо используйте $request->id вместо параметра маршрута, либо используйте прослушиватель javascript для настройки URL-адреса при изменениях.
а форма <form method = "GET" action = "{{route('relatorios.profissionais', 'id')}}"> правильная?
Если вы хотите заменить id слушателем javascript, в противном случае нет. Обновлено: На самом деле нет, я бы даже этого не сделал, потому что это будет работать только для первого события изменения.
Понимать. Спасибо
@Rafee - это вид
public/views/relatorios/profissionais.blade.php