私はLaravel 5アプリを開発しています、私はこのルートを持っています
Route::get('states/{id}/regions', ['as' => 'regions', 'uses' => 'RegionController@index']);
コントローラーで、ポストコールを正しく行った後、次のコマンドを使用して、そのビューにリダイレクトします。
return \Redirect::route('regions')->with('message', 'State saved correctly!!!');
問題は、URLにあるはずの{id}パラメーターを渡す方法がわからないことです。
ありがとうございました。
ルートパラメータをroute()
の2番目の引数として渡すことができます。
return \Redirect::route('regions', [$id])->with('message', 'State saved correctly!!!');
配列が1つだけの場合は、配列として記述する必要もありません。
return \Redirect::route('regions', $id)->with('message', 'State saved correctly!!!');
ルートに複数のパラメーターがある場合、または1つしかないが、どのパラメーターに各値があるかを明確に指定したい場合(読みやすくするため)、いつでもこれを行うことができます。
return \Redirect::route('regions', ['id'=>$id,'OTHER_PARAM'=>'XXX',...])->with('message', 'State saved correctly!!!');
あなたはまだこのようにすることができます:
return redirect()->route('regions', $id)->with('message', 'State saved correctly!!!');
複数のパラメーターがある場合、パラメーターを配列として渡すことができます。たとえば、ルート内の特定の地域の首都を渡す必要がある場合、ルートは次のようになります。
Route::get('states/{id}/regions/{capital}', ['as' => 'regions', 'uses' => 'RegionController@index']);
その後、次を使用してリダイレクトできます。
return redirect()->route('regions', ['id' = $id, 'capital' => $capital])->with('message', 'State saved correctly!!!');
そのようなリダイレクトで{id}パラメーターを渡すことができます
return \Redirect::route('regions', [$id])->with('message', 'State saved correctly!!!');
ルーターに次のようなものが含まれている場合:
Route::get('/displayCustomer/{id}','AdminController@displayCustomer')->middleware('auth','admin');
コントローラーのリダイレクトは次のように行うことができます
public function displayCustomer($id){
$user = DB::table('customer_infos')->where('customer_id', $id)->first();
return view('admin.DisplayCustomer', compact('user', $user));
}
public function approveCustomerInvoice(Request $request,$id)
{
$customer = CustomerInfo::find($id);
$customer->status = 1;
$customer->save();
return redirect()->action('AdminController@displayCustomer', ['id' => $id])->with('message', 'Customer Invoice Approved!!!');
}
laravelでこのURLをリダイレクトする方法はいくつかあります
1。グローバルリダイレクトヘルパー関数でURLを使用するreturn redirect('states/'.$id.'/regions')->with('message', 'State saved correctly!!!');
2。名前付きルートを使用するreturn redirect()->route('regions', ['id' => $id])->with('message', 'State saved correctly!!!');
3。コントローラーアクションの使用return redirect()->action('RegionController@index', ['id' => $id])->with('message', 'State saved correctly!!!');