我创建了以下模型来链接 2 个关系表:
class Ficha extends AppModel {
//public $useTable = 'ficha_seg';
var $primaryKey = 'id_ficha';
var $name = 'Ficha';
var $belongsTo = array(
'Perigo' => array(
'className' => 'Perigo',
'foreignKey' => false,
'conditions' => 'Perigo.id_fichas = Ficha.id_ficha'
)
);
}
现在,我有一个需要来自 Ficha 类的数据的表单,然后被重定向到另一个 ctp 页面,我将在其中输入“Perigos”表的数据。但是,由于我仍然是 cakephp 的新手,我很难构建第二种形式来在“Perigos”表中插入数据。这是我目前构建的与第二种形式相关的代码:
FichasController.php(应该将数据保存在“Perigos”表上的方法:
public function preencher_ficha(){
if ($this->request->is('ficha')) {
$this->Ficha->create();
if ($this->Ficha->Perigo->save($this->request->data)) {
$last_id=$this->Ficha->getLastInsertID();
$this->Session->setFlash('Your post has been updated '.$last_id.'.');
//$this->redirect(array('action' => 'preencher_ficha'));
} else {
$this->Session->setFlash('Unable to qualquer coisa your post.');
}
}
}
preencher_ficha.ctp 文件格式为:
echo $this->Form->create('Ficha->Perigo', array('action' => 'index'));
echo $this->Form->input('class_subst', array('label' => 'Classificação:'));
echo $this->Form->input('simbolos_perigo', array('label' => 'Símbolos:'));
echo $this->Form->input('frases_r', array('label' => 'Frases:'));
echo $this->Form->end('Finalizar Ficha');
在这里我猜创建部分是错误的,但我认为我在控制器部分也有错误。