Doctrine 2 - 使用数据库中的视图生成实体
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Doctrine 2 - 使用数据库中的视图生成实体相关的知识,希望对你有一定的参考价值。
是否可以使用Doctrine 2从数据库生成视图?
我解释:
我的数据库包含一些我想要使用的视图,但我不知道如何生成这些视图。
在我的情况下,我有两个表和一个视图,视图选择每个表中的几列,我只想在项目的“实体”文件夹中的这个视图。
答案
数据库视图是 不 目前由Doctrine 2支持,但它可能表现得非常糟糕。自己尝试将视图映射为实体并将其标记为@readOnly实体。
另一答案
对于对答案感兴趣的人:
我的答案基于此:How to set up entity (doctrine) for database view in Symfony 2
例如,如果您有一个包含“Id”和“Name”列的视图“A”:
在src / Name / YourBundle / Resources / config / doctrine中,使用attributs创建“A.orm.yml”,例如:
NameYourBundleEntityA:
type: entity
table: A
fields:
id:
id: true
type: integer
unsigned: false
nullable: false
column: id
generator:
strategy: IDENTITY
name:
type: string
length: 35
fixed: false
nullable: true
column: name
之后,在Name / YourBundle / Entity / A中创建A.php:
namespace NameYourBundleEntity;
use DoctrineORMMapping as ORM;
/**
* @ORMEntity
* @ORMTable(name="A")
*/
class A {
/**
* @Id @Column(type="integer")
*/
private $id;
private $name;
public function getId() {
return $this->id;
}
public function getName() {
return $this->name;
}
}
并且......您可以使用控制器调用您的视图。
以上是关于Doctrine 2 - 使用数据库中的视图生成实体的主要内容,如果未能解决你的问题,请参考以下文章
更新数据库中的表/字段 - Doctrine 2 和 Codeigniter 2