1

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

我的实体之间的关系是:

  • 投票站 OneToMany 候选人
  • PollingStation 一对多用户
  • 投票多对一候选人
  • 投票多对一投票站
  • 投票多对一用户

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

我找到了这个链接,这给了我按如下方式进行的想法,但它仍然没有解决我的问题。

控制器:

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

选票类型:

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

0 回答 0