扩展Model ==扩展Eloquent?

时间:2015-08-05 16:20:52

标签: laravel laravel-4 laravel-5

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 {}

3 个答案:

答案 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。也许有另一种方法可以做到,但这对我有用。