Viv*_*ien 3 database-design symfony doctrine-orm
在我的数据库中,两个表之间有两个关系:
“多对一”和“多对多”

所以当我加载对象 CEO 时我有:
[ceo] => Object
(
[id] => 1
[Current_Company] => Object
(
[id] => 1
[ceo] => Object
*RECURSION*
)
)
Run Code Online (Sandbox Code Playgroud)
没有错误,主义和交响乐工作得很好。但这是在模式中保留递归的好方法吗?
我认为这个问题比 Doctrine 和 Symfony 更普遍,所以我会给出一个高水平的答案,分享我的哲学。
\n\n有两个思维阵营:
\n\n我属于第一阵营。对我来说,数据库通常比使用它的应用程序寿命更长,因此将应用程序弯曲到数据库 \xe2\x80\x94 是合乎逻辑的,反之亦然。这意味着,如果数据库和应用程序层发生冲突,则数据库层获胜。这就是为什么我更喜欢 DataMapper 模式而不是 ActiveRecord:AR 使您更改数据库架构以匹配您的应用程序,而 DM 使您的应用程序适合数据库架构。
\n\n在数据库模式中拥有双向关系是完全可以的,因此无论我使用什么数据库抽象工具,它都必须接受并接受这一点。
\n| 归档时间: |
|
| 查看次数: |
1526 次 |
| 最近记录: |