本文へ移動
Laravel Tips

はじめての方へ・ステップ 12 / 12

困ったときと、次に読むページ

エラーが出たときの読み方、よく出るエラーと直し方、ログと dump・dd での調べ方をまとめます。メモ帳アプリの次に読むとよいページも紹介します。

アプリを作っていると、エラーは必ず出ます。エラーは「どこがおかしいか」を教えてくれる手がかりです。こわがらずに読めば、たいてい直せます。このページでは、エラーの読み方と調べ方、そしてメモ帳アプリの次に何を学ぶとよいかをまとめます。

エラーの画面の読み方#

.env の APP_DEBUG が true のあいだは、エラーが起きると、くわしい原因の画面が出ます。

  • いちばん上の大きな文字:エラーの種類(InvalidArgumentException など)
  • その下の文:何がおかしいかの説明(ここをいちばんよく読む)
  • その下のコード:エラーが起きた場所。問題の行が色付きで目立つようになっている

まず説明の文を読み、次に色の付いた行の、自分で書いたファイル(routes/web.php や app/Http/Controllers/…)を見ます。vendor/ の中のファイルは Laravel 本体なので、ふつうは自分のファイルのほうに原因があります。

注意

APP_DEBUG=true は、作っているあいだだけの設定です。公開する本番のサーバーでは、必ず false にします。true のままだと、エラーの画面から、秘密の設定の値が見えてしまうおそれがあります。

よく出るエラーと直し方#

出る文 直し方
View [memos.indx] not found. ビューのファイルが見つからない。view() に書いた名前と、resources/views の中のファイル名・フォルダ名が合っているかを見る
Undefined variable $name ビューで使った変数が渡されていない。view('…', ['name' => …]) で渡しているかを見る
no such table: memos 表が無い。php artisan migrate を実行したかを見る
419 Page Expired フォームの合言葉が無い。<form> の中に @csrf があるかを見る
The POST method is not supported for route … フォームの送り方が合っていない。編集なら @method('PUT')、削除なら @method('DELETE') を書いたかを見る
404 Not Found その URL のルートが無いか、その番号のデータが無い。php artisan route:list でルートを見る
Add [title] to fillable property to allow mass assignment … 一括で入れてよい列が決まっていない。モデルに #[Fillable([...])] を書き、その列を入れたかを見る

ヒント

エラーの文は英語ですが、知らない単語を1つずつ調べれば読めます。「not found」は見つからない、「undefined」は決まっていない、「not supported」は使えない、という意味です。

ログを見る#

エラーは、画面だけでなくログ(記録のファイル)にも書かれます。場所は storage/logs/laravel.log です。composer run dev を動かしているターミナルにも、logs の行としてログが流れます。

自分でログに書くこともできます。たとえばコントローラーの中で、次のように書きます。

php
use Illuminate\Support\Facades\Log;

Log::info('メモを保存します', ['title' => $request->input('title')]);

くわしくはログにまとめています。

中身をのぞく(dump と dd)#

「この変数に、いま何が入っているのか」を知りたいときは、dump() か dd() を使います。

php
public function index()
{
    $memos = Memo::latest()->get();

    dump($memos->count()); // 画面に中身を出して、そのまま続ける
    dd($memos);            // 画面に中身を出して、そこで止める

    return view('memos.index', ['memos' => $memos]);
}
  • dump() は、中身を画面に出して、そのまま処理を続けます
  • dd() は、中身を画面に出して、そこで処理を止めます

調べ終わったら、消すのを忘れないようにしましょう。

次に読むページ#

メモ帳アプリで使ったことは、どれも入口の部分だけです。次は、作ったものに近いところから広げていくのがおすすめです。

もっと知りたいこと 読むページ
URL の決め方をもっと知りたい ルーティング
画面の部品をもっと使いこなしたい Blade テンプレート・Blade コンポーネントとレイアウト
入力のチェックを増やしたい・日本語にしたい バリデーション(入力のチェック)・バリデーションのルール一覧
データベースの使い方を広げたい Eloquent の基本・マイグレーション
ユーザーと投稿のように、表どうしをつなげたい リレーション(表どうしのつながり)
メモが増えたら、ページを分けたい ページ送り(ページネーション)
ログインのしくみを付けたい スターターキット・ログインのしくみ(認証)
自分のメモだけを直せるようにしたい できることを決める(認可)
正しく動くかをプログラムで確かめたい テストのはじめかた
作ったアプリを公開したい 本番へ公開する(デプロイ)

言葉の意味が分からなくなったら用語集を、書き方をさっと思い出したいときはチートシートを開いてください。

公式ドキュメント(英語)

2026年10月5日時点の内容をもとに、日本語でまとめています。

ページの一覧