Tengo una entidad llamada Game
con un repositorio relacionado llamado GameRepository
:¿Cómo obtener un repositorio de una entidad?
/**
* @ORM\Entity(repositoryClass="...\GameRepository")
* @ORM\HasLifecycleCallbacks()
*/
class Game {
/**
* @ORM\prePersist
*/
public function setSlugValue() {
$this->slug = $repo->createUniqueSlugForGame();
}
}
En el método PrePersist, tengo que asegurar que el campo babosa del juego es único, lo que requiere una consulta de base de datos. Para hacer la consulta, necesito acceder al EntityManager
. Puedo obtener EntityManager desde GameRepository. Entonces: ¿cómo obtengo el GameRespository de un juego?
¿Por qué eligieron hacerlo de esa manera? Parece hacer todo mucho más difícil y menos SECO. –
@JasonSwett Sí, la caja de babosas es un poco molesta como esa. En la mayoría de los otros casos, la separación tiene menos lados negativos, como cuando se prueban cosas es mucho más fácil cuando no hay dependencias difíciles de configurar. –
Un método en el repositorio para "crear nuevas instancias" ... ¿En serio? ¿El repositorio no está destinado a solo obtener datos? – Jean