2012-07-31 48 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版本無關緊要。