0

エンティティ フィールド タイプを使用して、強力な 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 のカスタム メソッドを使用するオプションがあると面白いのではないかと考えています。

4

1 に答える 1

0

各フォームはサービス コンテナー内のサービスとして記述できるため、他のサービスからの依存関係を指定できます。クエリをインラインで使用するのではなく、リポジトリ/ユーザーマネージャー内にカプセル化することをお勧めします。この場合、Ihmo symfony のバージョンは関係ありません。

于 2012-08-01T07:08:07.613 に答える