使用 Eloquent ORM 时是不是需要在数据库级别维护外键?

Posted

技术标签:

【中文标题】使用 Eloquent ORM 时是不是需要在数据库级别维护外键?【英文标题】:Do I need to maintain foreign keys at the database level when using Eloquent ORM?使用 Eloquent ORM 时是否需要在数据库级别维护外键? 【发布时间】:2013-04-17 00:03:15 【问题描述】:

Eloquent 可以有效地管理与 Eloquent 模型的所有关系。那么,我真的需要在数据库中维护外键关系吗?由于数据完整性已由 ORM 层管理,因此在数据库级别维护关系是否会对应用程序的性能产生任何额外影响?

【问题讨论】:

【参考方案1】:

我个人不喜欢在使用 Eloquent 时在数据库中保留外键关系,因为我想在一个地方(应用层)处理所有依赖逻辑。

在性能方面确实没有理由拥有外键,这纯粹是一个架构/设计决定。

【讨论】:

以上是关于使用 Eloquent ORM 时是不是需要在数据库级别维护外键?的主要内容,如果未能解决你的问题,请参考以下文章

丰富 Eloquent ORM 的 where 查询条件的解析场景

如何在不使用Eloquent ORM时构建Laravel应用程序

Laravel Eloquent ORM 事务:为啥我们需要 ROLLBACK?

Laravel:使用 Query Builder 或 Eloquent ORM 时在每次插入/更新时执行一些任务

Laravel Eloquent ORM字段处理

如何使用 Eloquent ORM 进行多重连接查询