使用FormBuilder形成Symfony2:如何从控制器设置字段

时间:2013-07-13 05:23:55

标签: symfony doctrine-orm formbuilder

我想使用FormBuilder创建一个包含多个表单的表单,每个表单对应一个实体。我的问题是我想从我的控制器中设置底层表单的一些字段。

我的实体之间的关系是:

  • PollingStation OneToMany候选人
  • PollingStation OneToMany用户
  • Ballot ManyToOne Candidate
  • Ballot ManyToOne PollingStation
  • 选票ManyToOne用户

我有$ pollingStation,$ voter和数组$候选人。我希望每个子表单引用$ candidate的不同元素(例如,选民单独评估每个候选者)。

我找到了this link,它让我按照以下步骤进行操作,但它仍然无法解决我的问题。

控制器:

$formBuilder = $this->createFormBuilder();
$choices = $pollingStation->getCandidates();
foreach ($candidates as $candidate) 
{
    $ballotType = new BallotType($pollingStation, $voter, $candidate);
    $formBuilder->add($candidate->getName(), $ballotType);
}
$form = $formBuilder->getForm();

BallotType:

public function __construct(\Entity\PollingStation $pollingStation, \Entity\User $user, \Entity\Candidate $candidate)
{
    $this->pollingStation = $pollingStation;
    $this->user = $user;
    $this->candidate = $candidate;
}

0 个答案:

没有答案