私はこのルートが機能することはできません...
私のコントローラー:
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
何か助けはありますか?
ルートヘルパーの2番目のパラメーターは、キーではなくパラメーターの値である必要があります。
{{route('relatorios.profissionais', 4)}}
ここで、フォームからこの値を設定しているため、ルートパラメータの代わりにリクエスト入力を使用するか、JavaScriptを使用してselect要素のchangeイベントのリスナーを使用してフォームアクションを変更する必要があります。
あなたが持って/id
いる理由は'id'
、2番目の引数であるためです。あなたが持って?id=4
いる理由は、それがルートパラメータではなくフォーム値だからです。
$profissionais
コレクションを取得した直後にも上書きしています
$profissionais = $id;
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加