PostgreSQL

laravelチュートリアルのカスタマイズをしていて出会ったSQLエラー

はい、どーもたかぽんです。

 

先日laravelのチュートリアルを参考にして、自作のPostgreSQLのデータベースを使ったアカウント登録を実装していたのですが、データベースの変なエラーが・・・。

column “id” does not exist Line 1:…..returning “id”)

こんな感じで”id”が定義されていないぞー!!!

そして、最後の方にreturning”id”とかいうデータベースでもプログラムでもそんな値定義した覚えのないものが・・・。

laravelの基本仕様なのか、laravelのチュートリアルで叩いたmake:authが関係しているのかはわかんないですが、

どうやらデータベースにデータを入れ込む際に返り値として主キーの値を返しているみたいなんです。

laravelのモデルではidが主キーだと思い込んでいて、データベースにそんなカラムねぇぞくそがっ!って怒られてるみたいです。

なので、モデルの方で、今からデータ登録するデータベースの主キーはこれだよー!

ってお知らせしないといけないみたいです。

そこで、モデルにて一文追加してあげます。

少し画像荒いですが・・・。

protected $primaryKey = ‘user_id’;

を追加します。

この場合、僕はusersテーブルにuser_idというカラムを作っていて、そのカラムを主キーにしているので、user_idが主キーだよー!ってしました。

必要に応じて各自自身のテーブルの主キーに変更してください。

こうすることで上記のエラーは出なくなりましたとさっ!

ちゃんちゃん!

 

参考

Unable to insert into PostgreSQL using laravel eloquent ORM

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください