(外鍵接合)從一種形式我有一個表格在CakePHP中如下 addticket.ctp將數據插入兩個表中的CakePHP
<html>
<?php
echo $this->Form->create('Ticket', array('url' => array('controller' => 'tickets', 'action' =>'addtickets'),
'enctype' => 'multipart/form-data'));
echo $this->Form->input('title',array('label'=>'Title'));
echo $this->Form->input('attachment', array('between'=>'<br />','type'=>'file',
'label'=>'Attachment'));
echo $this->Form->input('stepstoreproduce',array('label'=>'Steps To Reproduce'));
echo $this->Form->input('category',array(
'label'=>'Category',
'options'=>array(
'IT Support',
'IT HelpDesk'
)));
echo $this->Form->input('priority',array(
'label'=>'Priority',
'options'=>array(
'Low',
'Medium',
'High'
)));
echo $this->Form->input('Comment.comment',array(
'type'=>'textarea',
'label'=>'Comments'
));
echo $form->input('public',array('type'=>'radio',
'options' => array(
'1'=>'Yes',
'0'=>'No',
),
'default'=>'0'));
echo $form->input('created_by',array('value'=>$_SESSION['Auth']['User']['id'],'type'=>'hidden'));
echo $this->Form->end('Submit Ticket');
?>
</html>
我有模型ticket.php用下面的代碼
var $hasMany = array(
'Comment' => array(
'className' => 'Comment',
'foreignKey' => 'ticket_id'
)
);
而且我有addticket()函數tickets_controller如下
if ($this->Ticket->saveAll($this->data)){
$this->Session->setFlash('Ticket created');
}
else {
$this->Session->setFlash('Cannot create a ticket');
}
問題 的問題是,有兩個表在我的數據庫: 1.tickets 2.Comments(TICKET_ID爲外鍵)
我要門票的數據插入到表tickets
和評論數據comments
表。據我所知,更名爲Comment.comment
將在評論表中插入數據。
但我想補充的門票評語表userid
和ticket_id
和 created_by
&意見兩者。
請提前
如果我是你,我不會讓隱藏USER_ID字段輸入字段...除非您使用安全組件,否則您正在尋求問題!使用控制器填充它,或者使用模型中的beforeSave來操縱正在保存的數據。 – 2013-02-14 14:49:03