【发布时间】:2013-04-14 09:14:56
【问题描述】:
我是 Laravel 的新手。因此,如果我可以使用 Schema builder 生成表,然后使用像 DB::table('user')->find(1) 这样的查询来查询数据,那么 Eloquent 适合整个场景的哪个位置?它有什么用途?
【问题讨论】:
标签: database schema laravel builder eloquent
我是 Laravel 的新手。因此,如果我可以使用 Schema builder 生成表,然后使用像 DB::table('user')->find(1) 这样的查询来查询数据,那么 Eloquent 适合整个场景的哪个位置?它有什么用途?
【问题讨论】:
标签: database schema laravel builder eloquent
Eloquent 是 Laravel 附带的 ORM (Object-relational mapping) 的名称。 Eloquent 允许您与表进行交互,就好像它们是对象一样,但是 Eloquent 不知道您在表上的实际列。
让我们考虑简单的User 模型。我们希望这个模型能够查询我们users 表上的记录。
class User extends Eloquent {
protected $table = 'users';
}
有一个非常简单的模型。现在,而不是像这样查询。
$user = DB::table('user')->find(1);
可以这样查询。
$user = User::find(1);
Eloquent 本身使用自己的查询构建器,但确实回退到标准查询构建器。这意味着它可以使用查询生成器上的所有方法,等等。
这里的好处是:
我只提到了 Eloquent。它还有很多。我建议你看看以下资源。
【讨论】:
php artisan make:model User 命令将为模式构建器创建一个迁移存根和一个用户模型。创建后,您可以修改两者以填补空白(即任何剩余的列、关系等)。