![](/img/trans.png)
[英]PHP doctrine 1.2 ORM - polymorphic queries with class table inheritance
[英]Doctrine 1.2 class table inheritance workaround?
好的,首先,我知道1.2。这是不可能的,这就是为什么我正在寻找一种解决方法。
不,不幸的是我不能使用Doctrine 2,因为我的共享托管服务器停留在PHP 5.2.16,并且管理员拒绝安装PHP 5.3支持。
所以,这是我的问题,基本的亲子问题:
假设我有一个基类User
和子类Customer
, Seller
, Admin
。
我一直在研究继承方法: 简单 (相当无用的IMO), 具体和列聚合 ,甚至是在这里找到的“ 假类表继承 ”的解决方法。
我真正需要的是“ 类表继承 ”,换句话说, User
映射到包含所有共享值的单独表,子表定义映射到仅定义其特定列的单独表。
我放弃了完美 :)在PHP <5.3中,我真的不在乎它将如何存储在数据库中,但我的对象模型需要具备所有功能。
那么解决方法的最佳选择是什么?
这就是我需要的。
workingHours
,这是卖方特定的值) 查询基表也很不错,但正如我所看到的,这是最大的问题之一,它不是必须的。
我希望你理解我的问题。 任何建议都会受到赞赏,因为我真的不知道该怎么做。
几天前我遇到了同样的问题,我通过列聚合选择了继承。 潜在的概念并不是有史以来最干净或最美丽的解决方案,而是诀窍,并满足您的所有要求,除了一个:
这里失败的一件事是我用粗体字强调,但你可以很容易地解决它。 您可以覆盖子类中的setter和getter,如果有人试图访问或修改属于Customer的Seller对象上的字段,那么您不允许它(抛出异常,返回false等等)。 )。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.