Php 为什么ORM doen';你不能把东西还给我吗?

Php 为什么ORM doen';你不能把东西还给我吗?,php,laravel-5,orm,Php,Laravel 5,Orm,我正在研究Laravel5.4,我有一个关于ORM的问题。 为什么这两个代码样本的行为会发送不同的信息: Foo::whereId(13632)->first(); => null DB::table('foo')->where('id', '=', 13632)->first(); => Foo{...} 我的班福: class Foo extends Model { protected $table = 'foo'; ... } 如果我尝

我正在研究Laravel5.4,我有一个关于ORM的问题。 为什么这两个代码样本的行为会发送不同的信息:

Foo::whereId(13632)->first(); => null

DB::table('foo')->where('id', '=', 13632)->first(); => Foo{...}
我的班福:

class Foo extends Model
{
       protected $table = 'foo';

 ...
}
如果我尝试在数据库(SQL)中执行此操作:

我拿到了所有数据

如果我尝试在另一个id上执行相同的操作,它会起作用:

Foo::whereId(13634)->first();  => Foo{...}

DB::table('foo')->where('id', '=', 13634)->first(); => Foo{...}
如果我尝试在Phpmyadmin中执行以下操作:

SELECT * FROM `foo` WHERE `id` = 13634
我得到了所有正确的数据


谢谢。

以上两个查询代码您想要什么?两者都应该返回一个对象,其中id=13632 table
foo
doctors
实际上是两个不同的东西。
Foo::find(13632)
返回什么?@NikleshRaut:是的,这就是我期望的原因,但事实是Foo::whereId(13632)->first();返回null,而不是对象Foo。@kerbholz:这是一个错误,表是“Foo”而不是“doctors”。我更正了我的帖子。感谢您从
Foo::find(13632)获得的信息?另外,请确保您已将此Foo类作为
使用App\Foo
?以上两个查询代码的用途是什么?两者都应该返回一个对象,其中id=13632 table
foo
doctors
实际上是两个不同的东西。
Foo::find(13632)
返回什么?@NikleshRaut:是的,这就是我期望的原因,但事实是Foo::whereId(13632)->first();返回null,而不是对象Foo。@kerbholz:这是一个错误,表是“Foo”而不是“doctors”。我更正了我的帖子。感谢您从
Foo::find(13632)获得的信息?另外,请确保您已将此Foo类作为
使用App\Foo
SELECT * FROM `foo` WHERE `id` = 13634