【laravel】blade内でrouteヘルパを使う/リンク先を指定する方法/パラメータの渡し方

最終更新日

この記事では、blade内でrouteヘルパを使ってリンク先を指定する方法|パラメータの渡し方についてまとめました。

routeヘルパとは

blade内でリンク先を指定する方法にはrouteヘルパを使います。

https://readouble.com/laravel/9.x/ja/helpers.html#method-route

blade内でrouteヘルパを使う基本的な書き方

基本的には以下のようにして書きます。

{{route('ファイル名')}}

リンクを付与する

<a harf="{{route('ファイル名')}}">

パラメータを渡す場合

パラメータを渡す場合は、routeヘルパの第2引数に配列を記載して、'パラメータ名'=>'値'とします。

<a href="{{ route('ルート名', ['パラメータ名'=>'値']) }}">

パラメータが複数必要なURI(パス)に対しては、配列の中で、「,(カンマ)」を記述し、'パラメータ名'=>'値'を複数記述します。

<a href="{{ route('ルート名', ['パラメータ名1'=>'値1', ['パラメータ名2'=>'値2'],,,]) }}">

web.php内のrouteの基本的な書き方

ルーティングの設定は基本的に以下の記述で行います。

Route::get('URI', コントローラ名@アクション名)

ルートに名前を付ける

ルートに名前を付けるには、作成したルーティングの末尾に以下を書き加えます。

->name('ルート名')

なお、矢印の前で改行したり、前後にスペースがあっても問題なく機能します。

名前を付けるメリット

参考

https://readouble.com/laravel/9.x/ja/routing.html

名前付きルートを利用するメリットは以下の通りです。

  • URLを指定する時に、長々とパスを書く必要がなくなりますのでタイプミスを回避できます。
  • パス変更があっても、変更箇所はルート定義ファイルのweb.phpのみ。影響範囲が小さく済みます。

疑問

名前付きルートの場合、名前もディレクトリに合わせないとエラー(Route [ ] not defined.)になる。

https://teratail.com/questions/01fbcsgojqm4l8

fem