2011-02-28 99 views
4

我想知道是否有辦法爲AR關係創建我自己的規則或擴展現有的HAS_MANY,BELONGS_TO等?可以擴展AR關係嗎?

謝謝。

+1

你能清楚地指定這種自定義關係的例子嗎? – Jon 2011-03-19 00:32:30

+0

在這裏你可以找到關於CActiveRelation的有用信息http://www.yiiframework.com/doc/api/1.1/CActiveRelation – ArtoAle 2011-03-19 13:50:58

回答

0

每個AR關係都由相應的類創建。

const BELONGS_TO='CBelongsToRelation'; 
    const HAS_ONE='CHasOneRelation'; 
    const HAS_MANY='CHasManyRelation'; 
    const MANY_MANY='CManyManyRelation'; 
    const STAT='CStatRelation'; 

這些類擴展CActiveRelation»CBaseActiveRelation»CComponent。

您可以使用擴展CActiveRelation的自定義類創建您自己的AR關係。

+0

按照你的推理線,我有兩個問題:1 - 我可以創建我自己的關係類叫 - for例如 - polymorhic? 2 - 我可以在哪裏存儲我的自定義關係類? – GodFather 2011-03-01 14:45:36

+0

我從來沒有這樣做,但我認爲你可以。 看看CActiveRelation做什麼以及關係類如何擴展它以知道你的班級必須做什麼。我沒有找到任何關於它的文檔。 你可以在任何地方存儲自定義關係類,但要確保Yii知道它在哪裏。 – 2011-03-02 08:38:09