CakePHP 2.5.4中的关联删除

CakePHP 2.5.4中的关联删除,php,cakephp,Php,Cakephp,我在数据库元素和节中有2个实体 1节有0-N个元素,因此在元素表中我有一个外键 CONSTRAINT `elements_sections` FOREIGN KEY (`section_id`) REFERENCES `sections` (`id`) ON UPDATE CASCADE ON DELETE CASCADE Element Model.php具有以下特性: public $belongsTo = array( 'Section' => array(

我在数据库元素和节中有2个实体

1节有0-N个元素,因此在元素表中我有一个外键

CONSTRAINT `elements_sections` FOREIGN KEY (`section_id`) REFERENCES `sections` (`id`) ON UPDATE CASCADE ON DELETE CASCADE
Element Model.php具有以下特性:

public $belongsTo = array(
        'Section' => array(
            'className' => 'Section',
            'foreignKey' => 'section_id',
            'conditions' => '',
            'fields' => '',
            'order' => ''
        )
    );
在模型部分,我有:

public $hasMany = array(
    'Element' => array(
        'className' => 'Element',
        'foreignKey' => 'section_id',
        'dependent' => false,
        'conditions' => '',
        'fields' => '',
        'order' => '',
        'limit' => '',
        'offset' => '',
        'exclusive' => '',
        'finderQuery' => '',
        'counterQuery' => ''
    )
);
所有这些代码看起来都很好,但是,当我删除ID=X的部分的元素时,如果有ID=X的元素(在任何其他部分中),该元素也会被删除。这是我在整个应用程序中使用的代码,但在这里失败了$此->数据是元素对象

$this->Element->delete($this->data)
一个详细的例子:

第20节->要素400 第3节->要素20

如果我删除元素400,那么元素20也会被删除

我想我缺少一个配置参数或一些


提前感谢。

对于可能面临同样问题的人,这可能会有所帮助:

Model::delete()可以删除多条记录

[
    'id' => 1,
    'category_id' => 3,
    'price' => 10000,
]
将产生

DELETE FROM elements WHERE id IN (1, 3, 10000).

对于可能面临同样问题的人来说,这可能会有所帮助:

Model::delete()可以删除多条记录

[
    'id' => 1,
    'category_id' => 3,
    'price' => 10000,
]
将产生

DELETE FROM elements WHERE id IN (1, 3, 10000).