【问题标题】:unwanted entry on saveAllsaveAll 上不需要的条目
【发布时间】:2012-01-10 17:31:06
【问题描述】:

我有一个表 applications 与另一个名为 users 的表具有 HABTM 关系。将这两个链接在一起的表格是applications_users

现在,使用这段代码,

$data = array(
    'Application' => array(
        'id' => 123
    ),
    'User' => array(
        'application_id' => 123,
        'user_id' => 456
    )
);
$this->Application->saveAll($data);

我的表格中出现了预期的行,但在 applications_users 中也出现了一条奇怪的行,它在 applicaiton_iduser_id 中都包含 123

知道这条线是从哪里形成的吗?又该如何避免呢?

【问题讨论】:

    标签: sql cakephp-1.3


    【解决方案1】:

    蛋糕魔法把它放在那里! 正如您所说,它应该是应用程序和用户表之间的链接表。 HABTM 关系是“多对多”关系,需要第三个表来链接这两个表中的记录。

    这里的关键代码是这样的:

    'application_id' => 123,
    

    告诉 cake 用户属于 id=123 的应用程序,并且 id=123 的用户拥有 id (application_id)=123 的应用程序。

    如果您不想将两者联系起来,请删除上面的行。

    【讨论】:

    • 好的,太好了,它有效!谢谢。但我仍然不明白为什么这条线告诉 cake 存在 id 123 的用户。 user_id 专门告诉 cake 用户的 id 是 456,不是吗?
    猜你喜欢
    • 2022-08-09
    • 1970-01-01
    • 1970-01-01
    • 2019-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多