2011-12-01 66 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