Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Symfony2, Doctrine2, MySql, Tabellen anzeigen

Die Technik, die ich verwendet habe, besteht darin, eine Entität basierend auf der Ansicht zu erstellen:

php app/console doctrine:generate:entity

Überprüfen Sie die folgenden Parameter in den erstellten Entitätsannotationen: /** * @ORM\Table(name="table_name") * @ORM\Entity(repositoryClass="AppBundle\Repository\TableNameRepository") */

Erstellen Sie dann eine neue Tabelle mit einem SQL-Befehl:

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

Um Ihrer Ansicht eine Doktrin wie den Primärschlüssel hinzuzufügen, verwenden Sie diese Anweisung:

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

Oder Sie können den neuen Tabellennamen mit Doctrine angeben und mit einem :

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

gefolgt von einem

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

Dann verwenden Sie Ihre Entität im Controller, so einfach ist das.