如何在 Symfony 2 中为数据库视图设置实体(原则)

2022-08-30 14:40:32

假设我有一个视图表。我想从中获取数据到一个实体。我可以(以及如何)创建实体类来执行此操作(不需要保存操作)?我只想展示它们。


答案 1

接受的答案是正确的,但我想提供一些您可能需要考虑的其他建议:

将实体标记为只读。

将构造函数设为私有,以便只有 Doctrine 可以创建实例。

/**
 * @ORM\Entity(readOnly=true)
 * @ORM\Table(name="your_view_table")
 */
class YourEntity {
    private function __construct() {}
}

答案 2

查询视图没有什么特别之处 — 它只是一个虚拟表。以这种方式设置实体的表,并享受:

/**
 * @ORM\Entity
 * @ORM\Table(name="your_view_table")
 */
class YourEntity {
    // ...
}

推荐