Symfony1 如何在Symfony中从一个表单更新两个表?
我有一个表单,我在表单类中添加了一个额外的sfWidgetFormTextarea小部件 我想通过更新与表单对应的字段的数据库来保存表单,但随后获取sfWidgetFormTextarea的值,并将其作为新行插入另一个表中,同时保存textarea值和为另一个表中保存的数据创建的id号 这听起来让人困惑,所以如果我把它放在上下文中,可能就不会那么复杂了。我的表格是关于病人验血的详细资料。用户还可以添加任何关于测试的注释。一份血液检测记录可以有多个注释。出于这个原因,我想用测试id将注释保存在另一个表中,这样就可以检索一个测试的所有注释 我意识到这个额外的sfWidgetFormTextarea将破坏save函数,因为它将保存它,并且表中没有一个名为comment的字段,所以它不知道将这个textarea值保存到哪里。我是否应该从$request中删除注释值并将其插入注释表?我还需要知道它所涉及的TET的id思想,在save函数之前它不是锥形的Symfony1 如何在Symfony中从一个表单更新两个表?,symfony1,Symfony1,我有一个表单,我在表单类中添加了一个额外的sfWidgetFormTextarea小部件 我想通过更新与表单对应的字段的数据库来保存表单,但随后获取sfWidgetFormTextarea的值,并将其作为新行插入另一个表中,同时保存textarea值和为另一个表中保存的数据创建的id号 这听起来让人困惑,所以如果我把它放在上下文中,可能就不会那么复杂了。我的表格是关于病人验血的详细资料。用户还可以添加任何关于测试的注释。一份血液检测记录可以有多个注释。出于这个原因,我想用测试id将注释保存在另一
请帮帮我,我头疼 您可以手动保存表单,请检查下面的代码段
$this->form->bind($request->getParameter('formname'));
if ($this->form->isValid()) {
$arrValues = $this->form->getValues();
//get dataobject base on criteria...
$objTable1 = Table1Peer::getByField($arrValues['my_field']);
if(is_object($objTable1)){
$objTable1->setField($arrValues['my_field']);
//update
if($objTable1->save()){
$objTable2 = new Table2();
$objTable2->setPostId($objTable1->getId());
$objTable2->setComment($arrValues['my_comment']);
if($objTable2->save()){
$this->redirect('@action_name');
$this->getUser()->setFlash('success', 'comment saved');
}else{
$this->getUser()->setFlash('error', 'failed to save form, contact admin');
}
}else{
$this->getUser()->setFlash('error', 'failed to save form, contact admin');
}
}
我希望这有帮助,如果你能来,请告诉我……t谢谢。在我实现它之前,我正在尝试解构它。什么是Table1peer?我已经在谷歌上搜索过了,没有任何解释。@Nicola,我知道这很旧,但是
Table1Peer
中的Table1是一个示例表,与[example]Peer
类关联。我相信答案是针对推进的。