目的
- ルートパラメータが設定されているURLにパラメータ値を指定してリダイレクトする方法をまとめる
実施環境
- ハードウェア環境
項目 | 情報 |
---|---|
OS | macOS Catalina(10.15.5) |
ハードウェア | MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports) |
プロセッサ | 2 GHz クアッドコアIntel Core i5 |
メモリ | 32 GB 3733 MHz LPDDR4 |
グラフィックス | Intel Iris Plus Graphics 1536 MB |
- ソフトウェア環境
項目 | 情報 | 備考 |
---|---|---|
PHP バージョン | 7.4.3 | Homwbrewを用いて導入 |
Laravel バージョン | 7.0.8 | commposerを用いてこちらの方法で導入→Mac Laravelの環境構築を行う |
MySQLバージョン | 8.0.19 for osx10.13 on x86_64 | Homwbrewを用いてこちらの方法で導入→Mac HomebrewでMySQLをインストールする |
前提条件
- 実施環境と同じ環境が構築されていること。
前提情報
-
公式ドキュメントを読んでおくと理解が早いかもしれない。
-
/user/{user_id}
にリダイレクトする方法を記載する。 -
ルーティングには下記の様な記載があるとする。ルーティング設定部分のみ記載する。
web.phpRoute::get('/user/{user_id}', 'UserHomeController@index');
読後感
- ルートパラメータが設定されているURLへのリダイレクト方法が分かる。
- 名前付きルーティングにパラメータを渡す方法が分かる。
実施(一つのルートパラメータ)
-
ルーティングファイルを開きリダイレクト先のルーティングの記載を編集し、ルーティング情報に名前をつける。
web.phpRoute::get('/user/{user_id}', 'UserHomeController@index')->name('user.index');
-
リダイレクト処理を行いたい場所に下記の記載を行う。(下記が実行されると
/user/1
にリダイレクトする。)return redirect(route('user.index', [ 'user_id' => 1, ]));
実施(複数のルートパラメータ)
-
ルーティングファイルを開きリダイレクト先のルーティングの記載を編集し、ルーティング情報に名前をつける。
web.phpRoute::get('/user/{user_id}/{age_id}', 'UserHomeController@index')->name('user.index');
-
リダイレクト処理を行いたい場所に下記の記載を行う。(下記が実行されると
/user/1/2
にリダイレクトする。)return redirect(route('user.index', [ 'user_id' => 1, 'age_id' => 2, ]));
簡単なまとめ
-
ルーティング情報に名前をつける方法
//ルーティング情報->name('ルーティング情報の名前') Route::get('/user/{user_id}/{age_id}', 'UserHomeController@index')->name('user.index'); //上記の記載でルーティング情報に「user.index」という名前が付けられた。
-
名前付きのルーティング情報にリダイレクトする方法
return redirect('ルーティング情報に付けた名前');
-
リダイレクト先のURLにルートパラメータがあるときにリダイレクトする方法
return redirect('ルーティング情報に付けた名前', [ 'ルートパラメータ' => リダイレクト時にルートパラメータに入る値, );