2012-03-23 18 views

答えて

3

を書き込むことができます。

public static function getEntityName() 
{ 
    return get_called_class(); 
} 

その後、

use Acme\FooBundle\BarEntity; 

$repo = $em->getRepository(BarEntity::getEntityName()); 
+0

本当に私が探していた答えではなく、明らかに最高の答え。 –

3

あなたは、私がこのように私のエンティティに静的メソッドを追加している->getRepository('FooBundle:BarEntity')

+1

私のために動作しません。そしてそれはまだ退屈でDRYではありません。 –

+1

S2では、エンティティはバンドルの下のEntityディレクトリに存在する必要があります。 Acme \ FooBundle \ Entity \ Barこの場合、FooBundle:Barが動作します。 BundleName:EntityNameでどのように改善できるかは不明です。どこかの定数を定義できるとします。 – Cerad

+0

それは私が現在持っているセットアップであり、 "Unknown Entity namespace alias"を取得します。 –