GameRepository
と呼ばれる関連するリポジトリを持つGame
というエンティティがあります。エンティティからリポジトリを取得する方法は?
/**
* @ORM\Entity(repositoryClass="...\GameRepository")
* @ORM\HasLifecycleCallbacks()
*/
class Game {
/**
* @ORM\prePersist
*/
public function setSlugValue() {
$this->slug = $repo->createUniqueSlugForGame();
}
}
prePersistメソッドでは、ゲームのスラッグフィールドがデータベースクエリを必要とする固有のものであることを確認する必要があります。クエリを実行するには、私はEntityManager
へのアクセスが必要です。 GameRepositoryの中からEntityManagerを取得できます。だから:ゲームからGameRespositoryを取得するにはどうしたらいいですか?
なぜ彼らはそうすることを選択しましたか?すべてを著しく困難にし、ドライを減らすように見える。 –
@JasonSwettええ、スラッグケースはちょっと迷惑なものです。他のほとんどのケースでは、テストするときなど、分離が難しい場合があります。 –
"新しいインスタンスを作成する"ためのリポジトリ内のメソッド...本当ですか?リポジトリはデータを取得するだけではありませんか? – Jean