sql >> Base de Datos >  >> RDS >> Mysql

Symfony2, Doctrine2, MySql, ver tablas

La técnica que utilicé es crear una entidad basada en la vista:

php app/console doctrine:generate:entity

Verifique los siguientes parámetros en las anotaciones de la entidad creada: /** * @ORM\Table(name="table_name") * @ORM\Entity(repositoryClass="AppBundle\Repository\TableNameRepository") */

Luego crea una nueva tabla con un comando sql:

CREATE TABLE Table_Name 
AS 
SELECT v.field1,v.field2,v.field3,w.field4 
FROM view1 v,view2 w 
WHERE v.id=w.id;

Para agregar una doctrina como clave principal a su vista, use esta declaración:

ALTER TABLE Table_Name ADD INT PRIMARY KEY AUTO_INCREMENT NOT NULL;
ALTER TABLE Table_Name ADD CONSTRAINT pk_id PRIMARY KEY(id)

O puedes especificar el nuevo nombre de la tabla con Doctrine y crearlo con :

php app/console doctrine:schema:update --dump-sql

seguido de una

php app/console doctrine:schema:update --force

Luego usa tu entidad en el controlador, tan simple como eso.