gpt4 book ai didi

database-design - Doctrine 中的递归有多糟糕?

转载 作者:行者123 更新时间:2023-12-01 12:58:31 26 4
gpt4 key购买 nike

在我的数据库中,我有两个表之间的两个关系:

“多对一”和“多对多”

Database Schema

所以当我加载对象 CEO 时,我有:

[ceo] => Object
(
[id] => 1
[Current_Company] => Object
(
[id] => 1
[ceo] => Object
*RECURSION*
)
)

没有报错,doctrine和symfony运行良好。但这是将递归保留在模式中的好方法吗?

最佳答案

我认为这个问题比 Doctrine 和 Symfony 更笼统,所以我会给出一个高层次的答案,分享我的哲学。

有两个思维阵营:

  1. 数据库比使用它的应用程序更重要,
  2. 应用程序比数据库更重要。

我属于第一阵营。对我来说,数据库通常比使用它的应用程序生命周期更长,因此将应用程序转向数据库是合乎逻辑的——而不是相反。这意味着,如果数据库和应用层发生冲突,则数据库层获胜。这就是为什么我更喜欢 DataMapper 模式而不是 ActiveRecord:AR 使您可以更改数据库架构以匹配您的应用程序,而 DM 使您的应用程序适合数据库架构。

在数据库模式中拥有双向关系是非常好的,所以无论我使用什么数据库抽象工具,它都必须接受并接受它。

关于database-design - Doctrine 中的递归有多糟糕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8259431/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com