在表单中调用EntityManager

时间:2012-07-31 11:13:35

标签: symfony-2.1

我们可以使用entity Field Type

轻松自定义功能强大的Symfony2表单组件
use Doctrine\ORM\EntityRepository;
// ...

$builder->add('users', 'entity', array(
    'class' => 'AcmeHelloBundle:User',
    'query_builder' => function(EntityRepository $er) {
        return $er->createQueryBuilder('u')
            ->orderBy('u.username', 'ASC');
    },
));

有没有办法使用自定义Entitymanager(在本例中为UserManager)注入方法?我想,在长查询的情况下,可以选择使用EntityManager中的自定义方法吗?

1 个答案:

答案 0 :(得分:0)

每个表单都可以描述为服务容器中的服务,因此您可以指定来自任何其他服务的任何依赖项。我想说将查询封装在repository / usermanager中而不是内联使用它是个好主意。在这种情况下,Ihmo symfony版本并不重要。