skimemo


skimemo - 日記/2014-09-28/LarabelのEloquentでテーブル「event」へアクセスしようとしてはまる

_ LarabelのEloquentでテーブル「event」へアクセスしようとしてはまる

LaravelのEloquentがいまいち分からなくて避けていたのですが、DBへのアクセスに着手したら避けて通れないことが判明して手を付けてみたところ、早速はまったのでメモ。

Eloquentのサンプルを見ると、app/modelに、既存のUser.phpを真似して作れば、すぐにDBアクセスができるような事が書いてあるので早速作ってみます。

アクセスしたいテーブル名は event なので、Event.phpっていうのを作って早速

Everything is expanded.Everything is shortened.
  1
 
$events = Event::all();

とかやってみてもエラー。

Call to undefined method Illuminate\Events\Dispatcher::all()

undefined? 無いってどういうこと?
と思って小一時間悩んで、他のclass名にすると通る。
どうやらEventというclass名がいけないらしい。

そもそもlaravel全体でclass名はユニークじゃ無いといけないのに、Userとかシンプルな名前でサンプルが作ってあるのが間違っている。

ということにして、以下のように変更したら無事通りました。

Everything is expanded.Everything is shortened.
  1
 
$events = DbEvent::all();

何がwellknownなのかは不明。class名は明らかにユニークな名前にしないとダメですね。今後もエラーが出たら変える方向で凌ぎます。

Category: [Linux] - 18:24:30



 
Last-modified: 2014-09-28 (日) 18:32:10 (2397d)