Symfony 1.4表单有两个模型绑定问题

时间:2013-11-22 10:24:40

标签: php forms symfony-1.4

我正在使用Symfony 1.4制作表格 它基于一个模型,但也基于另一个模型 表单有效,但绑定时无法检索POST数据。

以下是模型:

ModelA
  id
  text
  something_else_id

ModelB
  id
  name
  modele_a_id

以下是表单的外观:

[] modele_b_entry_name_1
[] modele_b_entry_name_2
[] modele_b_entry_name_3

text
[_______________________________]

[ Submit ]

我试图做var_dump($request->getParameter('model_a_form'))这就是我得到的:

array (size=5)
  'id' => string '20' (length=2)
  'modele_b_entry_name233' => string '233' (length=3)
  'modele_b_entry_name236' => string '236' (length=3)
  'text' => string 'hello world' (length=11)

值正确。
想到,绑定根本不起作用。
当我这样做时:

$form = new ModelAForm();
$form->bind($request->getParameter('model_a_form'));
var_dump($form);

我得到一个包含空数据数组的表单 当然验证不起作用,当我尝试$form->renderGlobalErrors()时,我收到以下消息:Unexpected extra form field

现在我正在考虑直接使用POST数据,而不使用绑定和验证,除非有办法纠正它。

感谢您的帮助!

编辑:

public function configure()
{
  unset($this['created_at'], $this['something_else_id']);

  $model_a_id = $this->getObject()->getId();

  $tabModelB = ...; // Query to get all the ModelB in array.

  $this->generateCheckboxList($tabModelB); // Method which add the checkboxes to the widget schema.

  $this->getWidgetSchema()->moveField('text', sfWidgetFormSchema::LAST);
}

0 个答案:

没有答案