CakePHP:如何删除与saveAll的hasMany关联

时间:2010-12-07 09:00:12

标签: php cakephp cakephp-1.3

我有一个模型model1,其中包含多个model2。如何从特定model2s中移除所有model1,例如ID 1234的那个?这意味着,在SQL中,

UPDATE
    model2
SET
    model1_id=NULL
WHERE
    model1_id=1234;

但是如何制定这个CakePHP的方式呢?我尝试使用以下数组model1->saveAll作为参数:

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

[Model2] => Array
    (
    )
)

这意味着,Model2只设置为空数组。但这不起作用。现在,如何在hasMany(从object1方面看)关系中“取消关联”属于另一个特定对象1的对象2?

1 个答案:

答案 0 :(得分:2)

尝试使用updateAll($fields, $conditions)

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

以下是 CakePHP Docs