我有一段使用cakephp编写的代码,如下所示,
if($this->Session->read($this->_username)){
if(!empty($this->data)){
$data = array(
'fullname' => $this->data['Table']['fullname'],
'lastname' => $this->data['Table']['lastname'],
'title' => $this->data['Table']['title'],
'language' => $this->data['Table']['language']
);
if ($this->Table->save($data)) {
$this->redirect('okpage');
}
}
}
内置保存功能会将数据数组保存到数据库表X中。 现在我想添加另一个要保存到表Y中的元素employeeid。 所以上面的代码变成
if($this->Session->read($this->_username)){
if(!empty($this->data)){
$data = array(
'fullname' => $this->data['Model']['fullname'],
'lastname' => $this->data['Model']['lastname'],
'title' => $this->data['Model']['title'],
'employeeid' => $this->data['Model']['employeeid'],
'language' => $this->data['Model']['language']
);
if ($this->Model->save($data)) {
$this->redirect('okpage');
}
}
}
我很困惑我应该在if语句的表达式中更改哪些内容来保存数据?因为用于保存数据数组的原始代码用于将数据保存到表格X中,现在我的插入会使其混乱,这也让我头疼。
答案 0 :(得分:0)
如果在X和Y表之间建立关系,CakePHP可以帮助您自动执行此类操作。
你的问题中没有足够的信息来猜测这种关系应该是什么,但是你可以让X属于Y,或者Y有很多X,或者......
阅读CakePHP书籍中的这一部分:http://book.cakephp.org/1.3/en/view/1039/Associations-Linking-Models-Together以获得介绍。