我需要对数据库中的视图执行sql查询以获取数据,我使用以下代码:
$qb= $this->getEntityManager()->createQueryBuilder();
return $qb->select('count(c)')
->from('AppsBundle:Apps_View', 'c')
->getQuery()->getSingleScalarResult();
此查询失败,首先我没有Apps_Views的实体,其次该实体是通过控制台生成的。
有什么主意吗?
答案 0 :(得分:1)
您必须创建一个反映您的观点的实体。您只需要将视图视为常规表,并将其查询为常规表即可:
/**
* @ORM\Entity
* @ORM\Table(name="your_view")
*/
class YourView {
// ...
}
请注意,如果您运行命令doctrine:schema:update --force ORM会尝试从该视图实体创建新表。无论如何,您都应该使用“教义迁移”工具。