Php 嵌入表单集合
我有一个实体游戏和一个实体玩家,每个游戏有3名玩家 我想知道如何在GameTpe中嵌入PlayerType三次,然后在form.twig中显示它们,而不使用javascript 游戏类型Php 嵌入表单集合,php,symfony,Php,Symfony,我有一个实体游戏和一个实体玩家,每个游戏有3名玩家 我想知道如何在GameTpe中嵌入PlayerType三次,然后在form.twig中显示它们,而不使用javascript 游戏类型 class GameType extends AbstractType { public function buildForm(FormBuilderInterface $builder, array $options) { $builder ->add('name', 'text',
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
}
class PlayerType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('name', 'texet', array('required' => true))
->add('age', 'integer', array('required' => true));
//............
}
播放器类型
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
}
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 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>
{{form_小部件(form.name)}
{{form_小部件(form.description)}
{{form_小部件(form.date)}
//如何显示此表单3次
{{form_小部件(form.players)}
如果您的游戏总是有三名玩家,为什么不在游戏实体中添加三个字段
例如,使用getter来收集它们。你认为这是最好的解决方案吗?不,但你说你不想使用JS;)对不起,我错了。那个解决方案行不通。你可以试试这个。你想使用一个表单集合:然后简单地将三个玩家实体添加到你的游戏实体中。