型号不会更新

时间:2009-03-28 03:35:29

标签: cakephp model

使用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']);
  }
}

客户正确更新,但地址始终会插入新行。如何更新此地址?

1 个答案:

答案 0 :(得分:1)

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