update getrepository getdoctrine force delete orm doctrine2 symfony

orm - getrepository - symfony 4 database config



Usar Doctrine y Symfony para crear asociaciones polimórficas similares (2)

Eche un vistazo a las incrustaciones o podría usar rasgos.

Estoy intentando tener un rasgo Fileable que proporcionará a una Entidad los métodos para los archivos CRUD basados ​​en la Entidad de Archivo mencionada a continuación.

Después de leer la documentación de Doctrine y buscar en Internet, lo mejor que pude encontrar es Mapeo de herencia, pero todos requieren la subclase para extender la superclase, lo que no es ideal ya que las Entidades actuales ya extienden otras clases. Podría tener FileFoo entidad FileFoo y una entidad FileBar , pero esto se vuelve demasiado complicado y requiere una unión extra ( super -> sub -> entity ).

Alternativamente, podría tener una Entidad de Archivo que tenga muchas columnas para Entidades (así que foo_id para el objeto Foo , bar_id para el objeto bar etc.) pero esto se vuelve complicado y requeriría una nueva columna para cada entidad que quisiera. agregue el rasgo Fileable también.

Entonces, a las preguntas: ¿Estoy pensando en cómo quiero guardar los datos incorrectamente? ¿Hay algunas características / funciones en Doctrine / Symfony que me he perdido? ¿Crees que aparecería así si fuera a copiar Doctrine para agregar esta característica, también dónde debería buscar?

<?php /** * File * * @ORM/Table() * @ORM/Entity() * @ORM/HasLifecycleCallbacks() */ class File { /** * @var integer * * @ORM/Column(type="integer") * @ORM/Id() * @ORM/GeneratedValue() */ protected $id; /** * @var string * * @ORM/Column(type="string") */ protected $entityName; /** * @var string * * @ORM/Column(type="string") */ protected $entityId; ...


Logré algo similar utilizando la herencia definida en los rasgos, que junto con las interfaces, básicamente me dieron lo que daría una extensión múltiple.