Database CakePHP2:在$this->Model->delete($id)中,删除'dependent'=>false中的hasmany模型

Database CakePHP2:在$this->Model->delete($id)中,删除'dependent'=>false中的hasmany模型,database,cakephp,dependencies,models,Database,Cakephp,Dependencies,Models,我在CakePHP2.1.5中有一个奇怪的行为 当我删除对正时,删除两件事。理由和相关的文档产品 辩护控制员: class JustificationsController extends AppController { public function delete($id = null) { $this->Justification->id = $id; if ($this->Justification->delete()) {

我在CakePHP2.1.5中有一个奇怪的行为

当我删除对正时,删除两件事。理由和相关的文档产品

辩护控制员:

class JustificationsController extends AppController {

  public function delete($id = null) {

    $this->Justification->id = $id;
    if ($this->Justification->delete()) {                        
      $valorNull = null;
      $this->Justification->DocumentsProduct->updateAll(
        array('DocumentsProduct.justification_id' => $valorNull),
        array('DocumentsProduct.justification_id' => $id));
    }
  }
}
理由模型:

public $hasMany = array(
  'DocumentsProduct' => array(
    'className' => 'DocumentsProduct',
    'foreignKey' => 'justification_id',
    'dependent' => false,
    'conditions' => '',
    'fields' => '',
    'order' => '',
    'limit' => '',
    'offset' => '',
    'exclusive' => '',
    'finderQuery' => '',
    'counterQuery' => ''
    )
  );
文档产品模型:

public $belongsTo = array(  
  'Justification' => array(
    'className' => 'Justification',
    'foreignKey' => 'justification_id',
    'conditions' => '',
    'fields' => '',
    'order' => ''
    )
);
因此,如果在“对正/删除”视图中删除对正,则会同时删除对正和DocumentProduct。但依赖者是错误的。 我尝试了$this->Justification->delete$id,false,但仍然会删除DocumentsProduct

我做错了什么

更新:这是查询日志的一部分:

(int) 130 => array(
        'query' => 'SELECT COUNT(*) AS `count` FROM `icorvera_sgcp`.`approvals_documents_products` AS `ApprovalsDocumentsProduct`   WHERE `ApprovalsDocumentsProduct`.`id` = '52d00c27-4d84-47bc-9c47-169cc4460461'',
        'params' => array(),
        'affected' => (int) 1,
        'numRows' => (int) 1,
        'took' => (float) 1
    ),
    (int) 131 => array(
        'query' => 'DELETE `ApprovalsDocumentsProduct` FROM `icorvera_sgcp`.`approvals_documents_products` AS `ApprovalsDocumentsProduct`   WHERE `ApprovalsDocumentsProduct`.`id` = '52d00c27-4d84-47bc-9c47-169cc4460461'',
        'params' => array(),
        'affected' => (int) 1,
        'numRows' => (int) 1,
        'took' => (float) 1
    ),
    (int) 132 => array(
        'query' => 'DELETE `DocumentsProduct` FROM `icorvera_sgcp`.`documents_products` AS `DocumentsProduct`   WHERE `DocumentsProduct`.`id` = '52d00c27-a1f4-4756-a126-169cc4460461'',
        'params' => array(),
        'affected' => (int) 1,
        'numRows' => (int) 1,
        'took' => (float) 1
    ),
    (int) 133 => array(
        'query' => 'DELETE `Justification` FROM `icorvera_sgcp`.`justifications` AS `Justification`   WHERE `Justification`.`id` = '529e1dbc-bbc0-4be1-828d-09c8c4460461'',
        'params' => array(),
        'affected' => (int) 1,
        'numRows' => (int) 1,
        'took' => (float) 1
    )
),
'count' => (int) 134,
'time' => (float) 343
)
我也有类似的问题


经过一些调查,我注意到在数据库本身中,我对“onDelete事件”进行了“级联”操作。这将覆盖cakephp行为。

表之间是否有数据库内链接?没有。我还得到了蛋糕查询的日志你能添加批准文档产品模型关系吗?