【Laravel】GETリクエストからパラメータを受け取る方法

目次

GETリクエストからパラメータを受け取る方法

今回はGETリクエストのパラメータをLaravelで取得する方法をご紹介します!

具体的には、以下のURLからパラメータを取得します。
http://localhost:800/hoge?search_word=検索テキスト&target_num=2&target_date=

Requestインスタンスを使用する

まずは、Requsetインスタンスを用いてパラメータを取得する方法です。

use Illuminate\Http\Request;

public function example(Request $request)
{
    $search_word = $request->input('search_word');
    $target_num = $request->input('target_num');  
    $target_date = $request->input('target_date');

    $search_word // 「検索テキスト」が格納されている
    $target_num  // 「2」が格納されている
    $target_date // 「null」が格納されている
}

$request->input('キー')でパラメータを取得することができます。

また、input()のいいところは第二引数に初期値を設定できるところです。

例えば、$request->input('target_time') とすると今回target_timeはパラメータ内に含まれないので、nullになりますが、$request->input('target_time', '19:00')とすると、target_timeは定義されていませんが、19:00が初期値として取得できます。

query()メソッドを使用する

query()メソッドを用いてパラメータを取得する方法です。

use Illuminate\Http\Request;

public function example(Request $request)
{
    $search_word = $request->query('search_word');
    $target_num = $request->query('target_num');  
    $target_date = $request->query('target_date');

    $search_word // 「検索テキスト」が格納されている
    $target_num  // 「2」が格納されている
    $target_date // 「null」が格納されている
}

query()メソッドとinput()の違いは、input()はPOSTのデータも取得できるところです。

query()はGETのパラメータは取得できますが、POSTのデータを取得することはできません。

一方でinput()はGETとPOST両方のデータを受け取ることができます。

GETから取得することを明示的に示したいのであればquery()を使用することをお勧めします。

まとめ

今回はGETリクエストのパラメータを取得する方法を紹介しました。

是非使ってみてください!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

よーすけのアバター よーすけ プログラマー

2022年4月 大阪自社開発会社入社
使用言語:JavaScript / PHP / Laravel / Vue.js / (WordPress)
勉強中:React / Next.js / TypeScript

Web制作実績:6件
デザインからコーディング、運用まで幅広く行います
ご依頼はお問い合わせフォームからお願いします。

コメント

コメントする

目次