ホーム › Q&A掲示板 › Laravelのルーティングでパラメータを受け取る方法
PHP

Laravelのルーティングでパラメータを受け取る方法

php_taro📅 2026-07-23💬 2件の回答

LaravelでURLの一部を変数として受け取りたいです。例えば/users/5の5をコントローラ側で使いたいのですが、ルートの書き方がわかりません。

回答 2件

✔ ベストアンサー

ルート定義で{id}のように波括弧で囲むと、その部分がパラメータになります。

// routes/web.php
Route::get('/users/{id}', [UserController::class, 'show']);

コントローラのメソッド引数で同じ名前を受け取れます。

public function show($id)
{
    return "ユーザーID: " . $id;
}

省略可能にしたいときは{id?}とし、引数にデフォルト値を付けます。

Route::get('/users/{id?}', fn($id = null) => $id ?? 'ゲスト');
laravel_dev👍 10

数字だけに限定したいならwhereで制約をかけられます。

Route::get('/users/{id}', ...)->where('id', '[0-9]+');
artisan_fan👍 3
▶ progoのエディタでコードを試す
インストール・登録不要。ブラウザ上でそのままコードを実行して確認できます。