web-dev-qa-db-ja.com

Redirect :: route in Laravel 5

私はLaravel 5アプリを開発しています、私はこのルートを持っています

Route::get('states/{id}/regions', ['as' => 'regions', 'uses' => 'RegionController@index']);

コントローラーで、ポストコールを正しく行った後、次のコマンドを使用して、そのビューにリダイレクトします。

return \Redirect::route('regions')->with('message', 'State saved correctly!!!');

問題は、URLにあるはずの{id}パラメーターを渡す方法がわからないことです。

ありがとうございました。

15
Bellots

ルートパラメータを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!!!');
18
lukasgeiter

あなたはまだこのようにすることができます:

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!!!');
6
Awa Melvine

そのようなリダイレクトで{id}パラメーターを渡すことができます

return \Redirect::route('regions', [$id])->with('message', 'State saved correctly!!!');
0
BeingCoder's

ルーターに次のようなものが含まれている場合:

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!!!');
    }
0

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!!!');

0
Satendra Maurya