繁体   English   中英

以Symfony形式获取实体项目

[英]Get an Entity items in a Symfony Form

我有一个选择实体,我需要在1个标签中获取其属性。如以下示例所示:

+---+-------+--------+--------------+
|   | price |  count | deliveryDate |
+---+-------+--------+--------------+
| X |  100  |    6   | 2015-01-02   |
+---+-------+--------+--------------+
|   |   70  |    5   | 2015-02-03   |
+---+-------+--------+--------------+

如何在symfony中获取实体项目? 这是我的表格类型:

FormType.php:

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('name')
        ->add('Age')
        ->add('message', MessageType::class)
        ->add('choice', EntityType::class, array('class'=>'EspBundle\Entity\Choice',
            'multiple'=>true,
            'expanded'=>true,
            'query_builder'=> function(EntityRepository $er){
                return $er->createQueryBuilder('c')->orderBy('c.name','ASC');},
            ))
        ->add('Save', SubmitType::class)
    ;
}

那我的树枝文件怎么可能呢? 我尝试使用{{form.label(form.choice.name)}}来获取它们,但是它不起作用!

编辑1:这是我得到的结果 在此处输入图片说明

这里最简单的方法是在字段上设置choice_label选项。 所以:

->add('choice', EntityType::class, array('class'=>'EspBundle\Entity\Choice',
        'multiple'=>true,
        'expanded'=>true,
        'query_builder'=> function(EntityRepository $er){
            return $er->createQueryBuilder('c')->orderBy('c.name','ASC');},
        'choice_label' => 'name'
        ))

在树枝中,您可以将其呈现为{{form_widget(form.choice)}},也可以将整个表单呈现为{{form_widget(form)}}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM