【问题标题】:How Many HABTM relationships in cakephp is too many?cakephp中有多少HABTM关系太多了?
【发布时间】:2011-06-02 03:28:20
【问题描述】:

我正在努力决定我的 cakephp 应用程序中真正需要多少个 HABTM 关系。我想我不太明白“有”的真正含义。我不想拥有比必要更多的 HABTM 表。这是我的数据库中的内容:

Users
Properties
Leases
Payments
Repairs

user HABTM propertiesuser HABTM leasesuser HABTM usersuser HABTM repairsproperty的hasMany repairsproperty的hasMany leases , lease hasMany repairs.

另外,我的users 模型有两个别名(managertenant)。这是我最终建立了这么多 HABTM 关系的原因之一,但我不确定是否有必要。

我的用户 HABTM 关系是否过多?通过我的模型递归蛋糕会更好吗?

谢谢!

【问题讨论】:

    标签: php cakephp


    【解决方案1】:

    这是一个相当主观的问题。也就是说,只有您知道自己的代码才能决定。最好的办法是问问自己以下是否严格正确:X 真的拥有并且属于许多 Y

    比如User真的有很多Payment吗?还是UserLeaseLeasePayments?与RepairsProperties 相同。

    就CakePHP 的太多而言,我不会担心。在find() 上设置recursive 属性,使用Containableun/bindModel() 也将有助于限制使用所有这些关系的时间。

    【讨论】:

    • 我决定消除多余的关系,所以现在我剩下的东西看起来更干净了。谢谢!
    • 最后一件事:现在我正在将managerstenantsmanagers_tenants 表链接。但是既然managers HABTM leasestenants HABTM leases 允许cakephp 通过共同的leases 模型将managerstenants 链接在一起会更好吗?我想这也取决于我的代码..
    • 确实如此。但我个人同意这些事情应该通过Lease 模型来完成。确实,棘手的部分是如何将Users 区分为ManagersTenants
    猜你喜欢
    • 1970-01-01
    • 2011-07-12
    • 1970-01-01
    • 2014-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-29
    相关资源
    最近更新 更多