我正在使用实体表单类型,基于选择,以便在Sonata管理表单中提供选项列表。我想要的是使用子属性来显示选择列表中的元素集合。
是否有人知道如何提供要在chocie列表中显示的标签或如何为选择列表数组提供格式?
$formMapper->add( 'frArea', 'entity', array(
'class' => 'myVendor\myBundleBundle\View\myEntity',
//When using a child property here, choice list gets corrupted/bad formatted
//'property' => 'child.property',
'property' => 'property',
'em' => 'formacions',
'query_builder' => function( EntityRepository $er )
{
return $er->createQueryBuilder( 'qb' )
->add( 'select', 'm' )
->add( 'from', 'myVendor\myBundleBundle\View\myEntity m' );
//->leftJoin('a.idiomes', 'ai');
},
'required' => false,
'label' => ucfirst( $this->trans( 'my_label', array(), $this->translationDomain, $this->langCode ) )
) );
以下列方式'property' => 'child.property'
使用属性选项时出现以下错误:
Neither property "nom" nor method "getProperty()" nor method "isProperty()" exists in class "Doctrine\ORM\PersistentCollection"
答案 0 :(得分:1)
这是参数property
的作用!无需向Symfony指示哪个字段是选项的值,它需要ID列,因此property
用于显示;)