我无法执行此路线...
我的控制器:
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
变量。
但是uri就像:relatorios/profissionais/id?id=4
有帮助吗?
答案 0 :(得分:4)
路由助手的第二个参数应该是参数的值,而不是键。
{{route('relatorios.profissionais', 4)}}
现在,因为要从表单中设置此值,所以您需要使用请求输入而不是route参数,或者使用javascript通过对选择元素的change事件使用侦听器来修改表单操作。 / p>
您拥有/id
的原因是因为'id'
是第二个参数。您拥有?id=4
的原因是因为它是一个表单值,而不是路由参数。
检索集合后,您还会立即覆盖$profissionais
$profissionais = $id;
答案 1 :(得分:0)
您可以这样做:
Route::get('/relatorios/profissionais/{id?}', 'RelatorioController@profissionais')->name('relatorios.profissionais');