如何在模型中建立条件关系?

时间:2013-03-10 12:32:48

标签: php activerecord yii yii-relations

我在应用程序中有两种类型的配置文件,它们是两个不同的表。例如,个人资料位于“人”表中,其ID以“p”开头,业务资料位于“业务”表格中,其ID以“b”开头。

我有一个'喜欢'表,用于创建帖子和个人资料之间的关系。但是,概况是条件关系;如果profile_id以'b'开头,它应该是商业模式,如果不是,它应该是'人'模型。

我试图在模型的relation()方法中加入if语句。但是,在该阶段,属性未初始化,我收到错误。我尝试使用afterFind()和afterConstruct()来添加模型元数据的关系(使用CActiveRecordMetaData :: addRelation())。当我在afterFind或afterConstruct中回显关系的类型时,它们就是它们应该是的。但是,出于某种原因,当我尝试循环访问某些结果并访问该关系时,它们都被识别为企业。当我在添加关系之后完全调用CActiveRecord :: refresh()时,我收到一个错误,说达到了100个嵌套函数调用的限制。

如何实现此条件关系?

0 个答案:

没有答案