-2
私はEntityを "Vote"と呼んでいます。このクラスのdoctrineを使用して、このクラスの値をEasyAdminバンドルのshow listに統合する操作を実行する必要があります。symfony:EntityクラスにEntityManagerを追加する
私は私のservices.ymlでこれを持っている:
app.user:
class: AppBundle\Entity\Vote
calls:
- ['setMe', ["doctrine.orm.entity_manager"]]
、これを私のクラスで:
public function setMe($entityManager) {
$this->em = $entityManager;
}
しかしsetMe()が呼び出されることはありません(私が使用しているxdebugのを)。
app.user:
class: AppBundle\Entity\Vote
calls:
- ['setMe', ["doctrine.orm.entity_manager"]]
arguments: ["@doctrine.orm.entity_manager"]
と
public function __construct(\Doctrine\ORM\EntityManager $em){
$this -> date = new \DateTime();
$this -> em = $em;
}
が、同じ結果と:の$ this - > EMがセットされていない
だから、私は試してみました。
私の間違いはどこですか?
最初の間違いは、Symfonyコンテナを設定すると魔法のように注入が行われると考えていることです。コンテナは、コンテナからエンティティを引き出す場合にのみ機能します。これはDoctrine 2では起こりません。第2の間違いは、エンティティマネージャを最初に注入しようとしていることです。 Doctrine 2エンティティはアクティブレコードエンティティではありません。機能をサービスクラスに移動するか、アクティブなレコードライブラリに切り替えます。 – Cerad