質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

解決済

Laravelのエラー「SQLSTATE[42S22]: Column not found: 1054 Unknown columnを解決したい

K.Humphreys
necolobi

総合スコア14

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

2回答

0グッド

0クリップ

399閲覧

投稿2022/10/09 17:59

編集2022/10/09 18:00

解決したい内容:LaravelのcontrollerからModelを呼び出す際にタイトルのエラーが出てしまいます。
空のカラムを取得しようするのは何故なのでしょうか?
Laravelに詳しい方、どなたかお力貸していただけませんでしょうか。
Laravelのバージョンは5.8です。

発生しているエラー

SQLSTATE[42S22]: Column not found: 1054 Unknown column 'items.' in 'where clause' (SQL: select * from `items` where `id` = 1 and `items`.`` is null limit 1)

該当するソースコード

controller(抜粋)

php

1use App\Models\Item; 2use App\Models\Article; 3 4class CheckController extends Controller 5{ 6 public function index(Request $request) 7 { 8 //ここは正しく取得できる 9 $test1 = Article::where('id', '20')->first(); 10 dump($test1); 11 12 //ここで上記のエラーに出る 13 $test2 = Item::where('id', '1')->first(); 14 dump($test2); 15 } 16} 17

Model

php

1<?php 2 3namespace App\Models; 4 5use App\Models\BaseModel; 6use Illuminate\Database\Eloquent\SoftDeletes; 7 8class Item extends BaseModel 9{ 10 use SoftDeletes; 11 const UPDATED_AT = null; 12 const DELETED_AT = null; 13 14 protected $guarded = [ 15 'id', 'created_at' 16 ]; 17} 18 19

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

回答2

0

解決しました。

softdeleteが不要なのにも関わらずuseしてしまったのが原因でした。
すぐに答えてくださったphper.kさんの答えをベストアンサーとさせていただきました。
ありがとうございました。本件closeします。

以下、共有のため修正した点です。

php

1class Item extends BaseModel 2{ 3 ↓3行を削除し、問題なく取得できていることを確認 4 //use SoftDeletes; 5 //const UPDATED_AT = null; 6 //const DELETED_AT = null; 7 8 protected $guarded = [ 9 'id', 'created_at' 10 ]; 11}

投稿2022/10/09 18:58

K.Humphreys

総合スコア14

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

0

ベストアンサー

php

1class Item extends BaseModel 2{ 3 use SoftDeletes; 4 const UPDATED_AT = null; // ここが間違い 5 const DELETED_AT = null; // ここが間違い 6 7 protected $guarded = [ 8 'id', 'created_at' 9 ]; 10}

投稿2022/10/09 18:25

phper.k

総合スコア3695

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。