【发布时间】:2014-09-24 23:40:13
【问题描述】:
我将 Doctrine2 用于一个为用户负责的项目。 所以用户对象有一个帐户对象的集合。 这些帐户对象有一个会计期间,其日期时间为期间的开始和结束。
/** @Entity */
class Account
{
/** @Column(type="datetime") */
private periodStart;
/** @Column(type="datetime") */
private periodEnd;
}
由于我必须在帐户类中添加一些方法来处理周期,我认为重构周期属性并使用新方法将它们放在自己的类中是一个好习惯。类似:
/** @Entity */
class Account
{
/** ??? */
private accountPeriod;
}
/** @Entity */
class AccountPeriod
{
/** @Column(type="datetime") */
private periodStart;
/** @Column(type="datetime") */
private periodEnd;
public function doSomething(){...}
}
但 Doctrine2 会为 AccountPeriod 创建一个新表。
我想要的是在 Account 表中保留 periodStart 和 periodEnd 列。我搜索了它,但找不到任何东西 - 我还查看了自定义类型,但据我所知,它们只映射简单类型而不是聚合。
我还想在查询中使用这些列,因此不能选择“object”原则列类型。
以前有人做过吗,也许有一些技巧? 还是说 Doctrine2 是不可能的?
【问题讨论】:
标签: php orm doctrine-orm datamapper