2011-12-01 65 views
0

我有一个表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_id123

任何想法,这条线确实来形成?以及如何避免它?

回答

0

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

这里的关键码是这样的:

'application_id' => 123, 

,告诉该用户所属的用id = 123,并且还与该ID = 123的用户具有与ID的应用程序(APPLICATION_ID应用蛋糕)= 123。

如果您不想链接两者,请删除上述行。

+0

好的,很好,它的工作原理!谢谢。但我仍然不明白为什么这条线告诉蛋糕,用户ID 123存在。 user_id明确告诉蛋糕用户的ID是456,不是吗? – Lanz