只更新一个表,但该表与另一个表相关联



我有一个主表,client。这个表与另外20个表相关联。我正在尝试使用下面的代码只更新表clienttee:

$this->Cliente->updateAll(array("ec_cnpj" => $this->request->data['Cliente']['ec_cnpj'],
                                  "ec_cpf" => $this->request->data['Cliente']['ec_cpf'],
                                  "ec_rg" => $this->request->data['Cliente']['ec_rg'],
                                  "ec_rg_org_emissor" => $this->request->data['Cliente']['ec_rg'],
                                  "ec_rg_est_emissor" => $this->request->data['Cliente']['ec_rg_est_emissor'],
                                  "ec_nire" => $this->request->data['Cliente']['ec_nire']),
                            array("ec_codigo"=>$this->request->data['ec_codigo']))

但是,Cake正在生成一个查询来更新所有表。怎样才能只更新客户端表?

From the docs

默认情况下,updateAll()将自动加入任何belongsTo支持连接的数据库的关联。为了防止这种情况,暂时解除关联。

因此,解绑定相应的模型,如
$this->Cliente->unbindModel(array('hasMany' => array('table1', 'table2')));

阅读"创建和销毁动态关联"来更好地理解它。

也许您会发现类似这样的东西很有用,但是要逃避直接来自cakephp的内容,您必须创建一个新函数

相关内容

  • 没有找到相关文章

最新更新