嵌入表格集合

时间:2015-02-04 19:33:23

标签: php symfony

我有一个实体游戏和一个实体玩家,每个游戏都有3个玩家

我想知道如何在 GameTpe 中嵌入 PlayerType 3次,然后在不使用javascript的情况下在form.twig中显示它们

游戏类型

class GameType extends AbstractType
{
  public function buildForm(FormBuilderInterface $builder, array $options)
  {
  $builder
    ->add('name', 'text', array('required' => true))
    ->add('description', 'text',  array('required' => true))
    ->add('date', 'date', array('required' => true)) 

    ->add('players',  new PlayerType()); //how to embed playerType 3 times
  }

PlayerType

class PlayerType extends AbstractType
{
 public function buildForm(FormBuilderInterface $builder, array $options)
 {
  $builder
    ->add('name', 'texet', array('required' => true))
    ->add('age', 'integer',  array('required' => true));
    //............

}

form.twig

<form method="post" action="" >

        {{ form_widget(form.name) }}

        {{ form_widget(form.description) }}

        {{ form_widget(form.date) }}

    // how to display this form 3 times

        {{ form_widget(form.players) }}

    <input type="submit" class="btn btn-primary" />
</form>

1 个答案:

答案 0 :(得分:0)

如果您的游戏总是有三名玩家,为什么不在游戏实体中添加三个字段?

然后例如使用getter来收集它们。