Eloquent 数据模型

本文只作说明,不用在项目中操作。

模型文件的创建

模型文件可通过多种方式进行创建,我们以文章模型(Article)为例,一般情况下,最简单的方式是通过 make:model 来创建。需要注意的一点是,模型类名称使用 单数 形式来命名:

$ php artisan make:model Article

指定命名空间

这种方式创建的模型默认是放置在 app 文件夹下,我们因遵循 MVC 的最佳实践而需要把模型文件放置于 app/Models 目录下。首先我们移除刚刚错误创建的文件,然后再为创建模型命令指定命名空间:

$ rm app/Article.php
$ php artisan make:model Models/Article

创建数据库迁移文件

如果需要在创建模型的同时顺便创建数据库迁移,则可以使用 --migration 或 -m 选项,我们将刚刚生成的模型进行删除,重新创建模型文件并生成数据库迁移文件:

$ rm app/Models/Article.php
$ php artisan make:model Models/Article -m

Eloquent 数据模型

Eloquent 是一个 ORM,全称为 Object Relational Mapping,翻译为 “对象关系映射”。所谓 “对象”,就是 “模型(Model)”;对象关系映射,即为模型间关系。

Laravel 的 Eloquent ORM 提供了一种漂亮简洁的关系映射的模型来与数据库进行交互。所有的数据库表都有相应的模型,这些模型被用来与表进行交互。模型允许你直接查询数据库表中的数据,及插入新的记录到数据表中。

刚才创建的 Article.php 就是一个 Eloquent 模型,默认的Eloquent模型,存放在app目录下,这点不是特别好,通常在app中,创建一个 “Model”,专门存放模型文件。

正常情况下,一个最小代码的 Eloquent 模型如下所示:

Eloquent 表命名约定

在模型文件中,Eloquent Article 模型默认情况下会使用类的「下划线命名法」与「复数形式名称」来作为数据表的名称生成规则。如:

就是模型对应的数据表的名称是由模型文件中的类名按以上规则生成的,比如默认的 User.php 模型文件,没有必要加上 protected $table = 'users'; ,因为按以上规则, User.php 模型对应的数据库表名就是 users 。

  • Article 数据模型类对应 articles 表;
  • User 数据模型类对应 users 表;
  • BlogPost 数据模型类对应 blog_posts 表;

因此 Eloquent 将会将 Article 模型对应(关系映射) articles 数据表。如果你需要指定不同名称的数据表,则可以通过 table 属性来定义,如:

这就是「约定优于配置」。

你可能感兴趣的:(Eloquent 数据模型)