Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Symfony2, Doctrine2, MySql, visualizar tabelas


A técnica que usei é criar uma entidade com base na view:
php app/console doctrine:generate:entity

Verifique os seguintes parâmetros nas anotações da entidade criada: /** * @ORM\Table(name="table_name") * @ORM\Entity(repositoryClass="AppBundle\Repository\TableNameRepository") */

Em seguida, crie uma nova tabela com um 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 adicionar uma doutrina como chave primária à sua visão, use esta declaração:
ALTER TABLE Table_Name ADD INT PRIMARY KEY AUTO_INCREMENT NOT NULL;
ALTER TABLE Table_Name ADD CONSTRAINT pk_id PRIMARY KEY(id)

Ou você pode especificar o novo nome da tabela com o Doctrine e criá-lo com um :
php app/console doctrine:schema:update --dump-sql

seguido por um
php app/console doctrine:schema:update --force

Em seguida, use sua entidade no controlador, simples assim.