这是我的更新代码: PS:empid是一个外键,但我认为不应该是原因而代码在CakePHP中
GridView.RowCellStyle
//此代码插入新行而不是更新,也不在新行中添加任何值
答案 0 :(得分:0)
可能是您尝试使用simple save
更新外部表格数据。
更新外键的多个记录
Model::updateAll(array $fields, mixed $conditions)
实施例
$this->Ticket->updateAll(
array('Ticket.status' => "'closed'"),
array('Ticket.customer_id' => 453)
);
简单保存主键
确保您的HTML有empid
echo $this->Form->input('Leave.empid', array('type' => 'hidden'));
保存模型
$this->Leave->empid = $this->request->data["Leave"]["empid"]; //2
$this->Leave->save($this->request->data);
在两者之间,您还可以尝试set
模型数据,并检查$this->Leave->validates()
和$this->Leave->validationError
是否有任何验证错误。
// Create: id isn't set or is null
$this->Recipe->create();
$this->Recipe->save($this->request->data);
// Update: id is set to a numerical value
$this->Recipe->id = 2;
$this->Recipe->save($this->request->data);
您可以找到有关所有Saving your data
的更多信息希望这可以帮助你:)
答案 1 :(得分:0)
如果$ empid是Leave模型的相应表的主键(例如离开),只需替换:
$this->Leave->empid = $this->request->data["Leave"]["empid"];
通过
$this->Leave->id = $this->request->data["Leave"]["empid"];