Laravelで「Base table or view not found: 1146 Table」エラーが出た時の対処法

エラー内容

参照しにいったテーブルが見つからないと言われます。

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'your_db.your_models' doesn't exist (SQL: select * from `your_tables`)

解決方法

作成したテーブルのモデルファイルを編集し、
使いたいテーブル名を指定してあげる必要があります。

<?php
namespace App;

use Illuminate\Database\Eloquent\Model;

class YourModel extends Model
{
    // 参照させたいSQLのテーブル名を指定してあげる
    protected $table = 'your_table';
}

公式ドキュメントによると、laravelの命名規則ではテーブル名はスネークケース(区切りを_で区切る)と複数形となり、カラム名は、スネークケースかつ単数形になるため、自分で命名したデータベースをLaravelに参照させたいときは、テーブル名をモデルファイル内で指定しなければいけないようです。

コメントを残す

入力エリアすべてが必須項目です。メールアドレスが公開されることはありません。

内容をご確認の上、送信してください。