2012-07-31 49 views
0

我们可以轻松地自定义与entity Field Type呼叫EntityManager的一个形式里面

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'); 
    }, 
)); 

强大的Symfony2表单组件是否有办法注入的方法(在这种情况下的UserManager)使用自定义的EntityManager呢?我想在长查询的情况下,可以选择使用EntityManager中的自定义方法,这可能会很有趣。

+0

这是一个2.0还是2.1的问题?表单组件发生了很多变化。 – Maerlyn 2012-07-31 14:31:07

+0

这是一个Symfony 2.1问题:-) – Tom 2012-07-31 15:20:26

回答

0

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