2010-12-07 46 views
1

我有一個模型model1其中有許多model2。我如何從特定的model1中刪除所有model2s,例如ID爲1234的那個?這意味着,在SQL中,CakePHP:如何刪除haveMany與saveAll關聯

UPDATE 
    model2 
SET 
    model1_id=NULL 
WHERE 
    model1_id=1234; 

但是如何制定這個CakePHP的方式呢?我試着用model1->saveAll以下數組作爲參數:

Array 
(
[Model1] => Array 
    (
     [id] => 1234 
    ) 

[Model2] => Array 
    (
    ) 
) 

這意味着,模型2只設置爲空數組。但這不起作用。現在,我怎樣才能「關聯」屬於hasMany中的另一個特定對象1的對象2(從對象1側看)?

+0

只是爲了澄清,你想取消那些model1_id指向model2? – 2010-12-07 09:03:01

+0

@andreas no,`model1_id`s指向'model2`表格到`model1`表格。是的,我想讓他們失效。 – joni 2010-12-07 09:05:53

回答

2

嘗試使用updateAll($fields, $conditions)

$this->Model2->updateAll(array('model1_id' => null), array('model1_id' => 1234)); 

這裏的CakePHP的Docs這一點。