エンティティ内でサービスを呼び出す方法はありますか
リポジトリ関数を使用してカスタム結果を取得できるように、エンティティ内にエンティティマネージャが必要です。
このようにエンティティ内にContainerInterfaceを挿入することを考えています。
use Symfony\Component\DependencyInjection\ContainerInterface;
class MyEntity
{
protected $container;
public function __construct(ContainerInterface $container)
{
$this->container = $container;
}
public function getEntityManager(){
return $this->container->get('doctrine')->getEntityManager();
}
}
しかし、これは正しい方法ではないと思います。より多くのコードが必要です。つまり、エンティティマネージャーが必要なすべてのエンティティに対してこれを実行する必要があります。
良い解決策はありますか?