0

使用 cakephp:我正在尝试更新客户信息和客户链接的地址。这样 Customer.address_id = Address.id,并且

客户模型

$belongsTo = 'Address';

来自customers_controller

function profile($id = null)
{
  if (empty($this->data['Customer']))
  { 
    $this->Customer->id = $id;
    $this->data = $this->Customer->read();
  }
  else
  {
    $this->Customer->id = $this->data['Customer']['id'];
    $this->Customer->read();
    $this->Customer->save($this->data['Customer']);
    $this->Customer->Address->save($this->data['Address']);
  }
}

客户正确更新,但地址总是插入一个新行。我如何让这个地址更新?

4

1 回答 1

1

首先,去掉第 11 和 12 行。那些没有用。确保您的视图包含 Customer.id 和 Address.id 的表单元素。如果您只是更新地址,您也不需要第 13 行。简短的回答是,如果缺少主键,Cakephp 将插入行而不是更新。在您的情况下,这意味着 [地址] [id]。

于 2009-03-28T10:21:16.597 回答