我想使用FormBuilder创建一个包含多个表单的表单,每个表单对应一个实体。我的问题是我想从我的控制器中设置底层表单的一些字段。
我的实体之间的关系是:
我有$ 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;
}