7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Laravel ルートパラメータ持ちのURLにリダイレクトする

Last updated at Posted at 2021-02-10

目的

  • ルートパラメータが設定されている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.php
    Route::get('/user/{user_id}', 'UserHomeController@index');
    

読後感

  • ルートパラメータが設定されているURLへのリダイレクト方法が分かる。
  • 名前付きルーティングにパラメータを渡す方法が分かる。

実施(一つのルートパラメータ)

  1. ルーティングファイルを開きリダイレクト先のルーティングの記載を編集し、ルーティング情報に名前をつける。

    web.php
    Route::get('/user/{user_id}', 'UserHomeController@index')->name('user.index');
    
  2. リダイレクト処理を行いたい場所に下記の記載を行う。(下記が実行されると/user/1にリダイレクトする。)

    return redirect(route('user.index', [
        'user_id' => 1,
    ]));
    

実施(複数のルートパラメータ)

  1. ルーティングファイルを開きリダイレクト先のルーティングの記載を編集し、ルーティング情報に名前をつける。

    web.php
    Route::get('/user/{user_id}/{age_id}', 'UserHomeController@index')->name('user.index');
    
  2. リダイレクト処理を行いたい場所に下記の記載を行う。(下記が実行されると/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('ルーティング情報に付けた名前', [
        'ルートパラメータ' => リダイレクト時にルートパラメータに入る値,
    );
    

参考文献

7
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?