0
我有一个表单应该创建一个非常简单的新条目到数据库中。此表中的一个字段与另一个表相关。具体来说,有一个人参加的事件,我需要将人员分配给一个事件。每个事件可以有几个人参加,并且可以有几个事件。在symfony表单中将字段预加载到字段中,出现错误“无法更新表单字段”
当管理员用户将成员添加到事件中时,我不需要他们在实际表单上选择事件,这应该通过URL传递。例如
但是,我真的很困难如何将该ID包含在窗体中。如果我尝试手动设置字段值,则会收到错误Cannot Update Form Fields
$this->['attendanceSuccess_id'] = 1;
如果我试图隐藏字段:
$this->widgetSchema['attendanceSuccess_id'] = new sfWidgetFormInputHidden();
窗体显示,但显然没有传递值和我“要求字段错误”
这似乎是一个真正的简单而普通的事情,但我找不到任何解决方案!如何将URL值传递给字段指向另一个类的表单?
为什么你重写这个构造函数? – Dziamid 2011-05-18 16:38:21
最初我是这么做的,因为它是一个必需的选项(比如person_id),如果它不在那里,我就抛出一个异常(但是我在粘贴时删除了那部分代码)。我的表单必须有该选项才能正常工作,所以我希望在构造函数中使用,以确保没有该选项时表单不能存在。在其他地方,我也用一个setter来完成它,我在'$ this-> form-> setPersonId($ request-> getParameter('person_id'))''中使用动作。你有偏好吗?无论哪种方式对我来说都不错,取决于选项的重要性以及代码的外观。 – matt 2011-05-18 17:08:38