企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
>[info]模型(model)文件通常被放在 app/model 目录下 你也可以将其放置于任何地方,只要能够通过 composer.json 配置文件自动加载即可。 所有的 Eloquent 模型(model)都继承自 `Illuminate\Database\Eloquent\Model `类。 ### 创建一个 Article 模型类(model class) ~~~ <?php /** * Article model */ use Illuminate\Database\Eloquent\Model; // 默认的规则是:类名的复数形式用来当做数据表的表名,除非明确指定另一个名称。 class Article extends Model { // } ~~~ ### 数据表的表名 注意,我们并没有告诉 `Eloquent` 将 `Article 模型(model)`和哪个数据表进行关联。 >[danger]默认的规则是:`类名的复数形式`用来当做数据表的表名,除非明确指定另一个名称。所以,在这种情况下,Eloquent 将自动推导出 Article 模型与 articles 数据表关联。 你可以在模型(model)中定义一个 table 属性,用来指定另一个数据表名称: ~~~ <?php use Illuminate\Database\Eloquent\Model; class Article extends Model { /** * 指定数据表 * @var string */ protected $table = 'article'; } ~~~ ### 主键 `Eloquent` 假定每一个数据表中都存在一个命名为 id 的列作为主键。你可以通过定义一个 `$primaryKey` 属性来明确指定一个主键。 ### 时间戳 >[info]默认情况下,`Eloquent` 期望数据表中存在 `created_at` 和 `updated_at` 字段。如果你不希望由 `Eloquent` 来管理这两个字段,可以在模型(model)中将 `$timestamps` 属性设置为 false: ~~~ public $timestamps = false; ~~~ >[info]如果你需要定制时间戳的格式,可以通过在模型(model)中设置 $dateFormat 属性来实现。这个属性决定了日期属性如何在数据库中存储,也决定当模型(model)被序列化为数组 或者 JSON 格式时日期属性的格式: ~~~ protected $dateFormat = 'U'; ~~~