Laravel 4中Eloquent Models的所有例子都扩展了Eloquent,但是当你在Laravel 5中生成一个模型时,它表示扩展模型,它们是否相同?
Laravel 4
<?php
class User extends Eloquent {
//Code
}
Laravel 5
<?php
class User extends Model {
//Code
}
Laravel 5 docs说:
定义雄辩模型
class User extends Model {}
答案 0 :(得分:18)
是的,他们是一样的。 Laravel 4使用类别名来将Illuminate\Database\Eloquent\Model
映射到Eloquent
。您可以在app/config/app.php
文件中看到:
'Eloquent' => 'Illuminate\Database\Eloquent\Model',
Laravel 5使用命名空间。因此,在模型类的顶部,您将看到以下行:
use Illuminate\Database\Eloquent\Model;
答案 1 :(得分:1)
...使用
use Illuminate\Database\Eloquent\Model;
扩展模型
答案 2 :(得分:0)
我正在使用_ide_helper.php文件 来自barryvdh的laravel-ide-helper
子类也称为Eloquent,并扩展到Model。
因此,如果我将自己的模型类扩展为Eloquent,IDE将知道所有函数,例如MyModelClass :: find。也许有另一种方法可以做到,但这对我有用。