Техниката, която използвах, е да създам обект въз основа на изгледа :
php app/console doctrine:generate:entity
Проверете следните параметри в създадените анотации на обект:
/**
* @ORM\Table(name="table_name")
* @ORM\Entity(repositoryClass="AppBundle\Repository\TableNameRepository")
*/
След това създайте нова таблица с 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;
За да добавите доктрина като първичен ключ към вашия изглед, използвайте това изявление:
ALTER TABLE Table_Name ADD INT PRIMARY KEY AUTO_INCREMENT NOT NULL;
ALTER TABLE Table_Name ADD CONSTRAINT pk_id PRIMARY KEY(id)
Или можете да посочите новото име на таблица с Doctrine и да го създадете с :
php app/console doctrine:schema:update --dump-sql
последвано от
php app/console doctrine:schema:update --force
След това използвайте обекта си в контролера, толкова просто.