Php 有口才的模特和有口才的模特有什么区别?
所以,我对此感到困惑: 在拉威尔的官方文件中,他们说: Laravel附带的雄辩ORM提供了一个美丽、简单的 用于处理数据库的ActiveRecord实现。每个 数据库表有一个用于交互的对应“模型” 用那张桌子 好的,这里一切都很好,我明白了 所以我进行了一次迁移来创建一个数据库:php artisan make:migration create\u items\u table--create=“items” 在这里也很好:) 从理论上讲,当我制作:php artisan make:model Item时,Laravel将创建一个php类(用于与items表交互): 但是,在现实世界中,当我制作:php artisan make:model Item时,Laravel创建了php类(用于与items表交互):: 那么,为什么是模型而不是雄辩呢??我错过了什么吗? 口才模型和模型有什么区别 如果有区别,我应该在什么时候使用雄辩和什么时候使用模型Php 有口才的模特和有口才的模特有什么区别?,php,laravel,orm,model,eloquent,Php,Laravel,Orm,Model,Eloquent,所以,我对此感到困惑: 在拉威尔的官方文件中,他们说: Laravel附带的雄辩ORM提供了一个美丽、简单的 用于处理数据库的ActiveRecord实现。每个 数据库表有一个用于交互的对应“模型” 用那张桌子 好的,这里一切都很好,我明白了 所以我进行了一次迁移来创建一个数据库:php artisan make:migration create\u items\u table--create=“items” 在这里也很好:) 从理论上讲,当我制作:php artisan make:model
谢谢^ ^Eloquent是Laravel附带的(对象关系映射)的名称。Eloquent允许您像对象一样与表交互,但是Eloquent不知道表上的实际列
让我们考虑简单的<代码>用户模型< /代码>。我们希望此模型能够查询
用户
表上的记录
class User extends Eloquent {
protected $table = 'users';
}
有一个非常简单的模型。现在,不要像这样询问
$user = DB::table('user')->find(1);
$user = User::find(1);
您可以这样查询
$user = DB::table('user')->find(1);
$user = User::find(1);
Eloquent本身使用自己的查询生成器,但确实会退回到标准查询生成器。这意味着它可以使用查询生成器上的所有方法,等等
这里的好处是:
- 您不必在每次调用时都指定表名
- 代码读起来好多了,它是语法上的糖分
- 您可以在表之间创建复杂的关系,并使用即时加载
- 您可以使用诸如批量分配保护和setters/getter之类的功能
我找到了问题的解决方案 因此,通常必须在config/app.php中添加别名
'aliases' => [
'Eloquent' => Illuminate\Database\Eloquent\Model::class,
当你创建一个模型时,Laravel将
使用雄辩的语言
而不是使用Illumb\Database\Eloquent\Model代码>这就是为什么我认为,有些人可能会使用模型,而其他人可能会使用雄辩的,这只是给名称空间赋予意义的问题:3你没有回答我的问题,我总是使用模型而不是简单的查询,如:DB::table('user')。。。我的问题是,为什么当我创建一个模型时,Laravel从模型扩展而不是从Eloquent扩展?是的,确切地说Laravel扩展到了不是从Eloquent扩展而来的模型。Laravel附带的Eloquent ORM使与数据库交互变得非常容易。阅读本文,当你可以定义或创建模型时。是的,我总是使用它,我也很了解如何使用它:)对不起,这也不能回答我的qst。。。但是我认为我找到了解决方案,请阅读我的答案…是的@elarib使用别名你也可以使用。thax a lot我刚刚注意到,默认情况下,extends Elount在Laravel 4中,而Laravel 5默认情况下制作extends Model…yap 5.1默认情况下也制作extends Model。你不需要添加这个。