我在扩展AR模型类时遇到问题。我有一个表jobs
和另外三个表,它们与作业有1比1的关系。detailsgeoscan
、detailsseismic
、details3d
。我有一个用于扩展CActiveRecord
的所有4个表的模型。我想更改这一点,使detailsgeoscan
扩展jobs
。我已经替换了如下的分类行
class Detailsgeoscan extends Jobs
我遇到的问题是如何访问和设置父模型字段?
例如,当前我先查询jobs
,然后查询detailsgeoscan
,我想查询detailsgeoscan
模型,并能够查看jobs
表和detailsgeoscan
的所有字段,并能够相应地更新/创建/删除行。
更新
我该如何重写以下内容。PROJID
在父类中。
Detailsgeoscan::model()->findAll(array("condition"=>"PROJID=".$model->PROJID));
简短回答:不要。
长话短说:你可以做你想做的事情(多表继承),但这真的很痛苦。你有单元测试设置吗?你用起来舒服吗?为了使事情顺利进行,你需要它。要使主要的事情顺利进行,有很多困难。
我已经做过一次了,不会再做了。长期的好处似乎不值得随之而来的头痛和复杂性。