设置一个字段,例如在奏鸣曲管理包中选择
Set a field like choose in sonata Admin bundle
您好,我正在使用 sonata admin bundle
所以我要创建一个表格,我需要在其中 select 从这些列表中选择一个 Facultad 实体,这是创建和编辑 Proyecto
记录的方法。
protected function configureFormFields(FormMapper $formMapper)
{
$em = $this->getConfigurationPool()->getContainer()->get('doctrine.orm.entity_manager');
$facultades = $em->getRepository('UIFIIntegrantesBundle:Facultad')->findAll();
$formMapper
->add('nombre')
->add('facultad','choice',array('choices'=>$facultades))
;
}
在此之前,我在实体 Facultdad
中添加了 __toString()
因此,当我尝试添加一些寄存器时出现错误,显然 Facultad
实体检索的是 id
值,而不是实体。
Catchable Fatal Error: Argument 1 passed to UIFI\IntegrantesBundle\Entity
\Proyecto::setFacultad() must be an instance of UIFI\IntegrantesBundle\Entity
\Facultad, integer given, called in /Development/repositorios/uifi/vendor
/symfony/symfony/src/Symfony/Component/PropertyAccess/PropertyAccessor.php on
line 442 and defined
那么从 sonata admin class
中的实体列表中设置选择的最佳方法是什么?
不是选择,你需要使用"sonata_type_model" http://sonata-project.org/bundles/admin/master/doc/reference/form_types.html#sonata-type-model
在这种情况下,您的代码将变为:
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('nombre')
->add('facultad','sonata_type_model')
;
}
您好,我正在使用 sonata admin bundle
所以我要创建一个表格,我需要在其中 select 从这些列表中选择一个 Facultad 实体,这是创建和编辑 Proyecto
记录的方法。
protected function configureFormFields(FormMapper $formMapper)
{
$em = $this->getConfigurationPool()->getContainer()->get('doctrine.orm.entity_manager');
$facultades = $em->getRepository('UIFIIntegrantesBundle:Facultad')->findAll();
$formMapper
->add('nombre')
->add('facultad','choice',array('choices'=>$facultades))
;
}
在此之前,我在实体 Facultdad
__toString()
因此,当我尝试添加一些寄存器时出现错误,显然 Facultad
实体检索的是 id
值,而不是实体。
Catchable Fatal Error: Argument 1 passed to UIFI\IntegrantesBundle\Entity
\Proyecto::setFacultad() must be an instance of UIFI\IntegrantesBundle\Entity
\Facultad, integer given, called in /Development/repositorios/uifi/vendor
/symfony/symfony/src/Symfony/Component/PropertyAccess/PropertyAccessor.php on
line 442 and defined
那么从 sonata admin class
中的实体列表中设置选择的最佳方法是什么?
不是选择,你需要使用"sonata_type_model" http://sonata-project.org/bundles/admin/master/doc/reference/form_types.html#sonata-type-model
在这种情况下,您的代码将变为:
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->add('nombre')
->add('facultad','sonata_type_model')
;
}