0

我正在创建一个项目管理系统,将项目分配给用户

ProjectsUser创建模型和定义 2$belongsTo关系以及HABTM在模型Project和模型中定义关系有什么区别User?但是,最正确的方法是什么?以及如何将数据保存在projects_users表中?

4

3 回答 3

3

根据我的经验,如果您只想从连接表(具有 2 个 ID 的表)中保存或删除行,那么使用通过 hasMany 和 belongsTo 关联关联的三个模型要简单得多。

您还可以直接从连接表中检索数据并更轻松地执行您想要的查询

这就是 CakePHP 文档中提到的 HABTM 和保存数据的说法:

但是,在大多数情况下,为连接表创建模型并设置 hasMany、belongsTo 关联(如上例所示)比使用 HABTM 关联更容易。

在这里您可以找到更多全文: http ://book.cakephp.org/2.0/en/models/saving-your-data.html#what-to-do-when-habtm-becomes-complicated

我已将此方法用于“读取”表(带有 post_id 和 user_id)以及订阅和类似类型的关系。

于 2012-12-07T09:36:33.037 回答
1

第一种方式称为“hasAndBelongsToMany” [详情请点击此处]

第二个称为“hasMany through” [详情请点击此处]

与“hasMany through”相关的第二个链接包含有关何时以及为什么要使用它的详细信息和冗长的解释。

于 2012-12-07T04:37:42.557 回答
0

不确定 cakephp 的具体细节,但通常显式定义关系模型可以让您对其进行更多控制,例如,如果您想进行一些验证或在创建此关系时添加回调。

于 2012-12-07T00:14:39.640 回答