2013-02-03 62 views
0

我使用through和透視表將我的模型設置爲多對多。不過,我想向數據透視表中添加一些額外的數據。Koahan ORM:爲多對多關係添加額外數據

在過去(kohana 3.0)我能提供額外的數據與add方法

$obj->add('alias', $related, array('extra'=>'data')) 

但它似乎在Kohana的3.3,該add方法不提供額外的數據的第三個參數,和我似乎無法找到如何做到這一點後保存,添加更多的數據,然後重新保存。

回答

2

Kohana 3.1以後不再支持。

他們取消它的原因(來源:http://dev.kohanaframework.org/issues/3754):

我們決定刪除此,因爲它是更好的通過模型 如果你需要把數據透視表中使用。直接在add()方法中插入數據 會繞過 通常在模型中的驗證和過濾。如果您需要 中的數據,請使用模型。我們不會改變這一點。

您現在必須爲數據透視表創建一個模型,並在該模型中放置附加信息。

然後,而不是使用has_many "through" (n:n)您應該使用has_many (1:n)關係的兩個表到數據透視表。

我希望這能回答你的問題。

+0

非常感謝您的信息,很有道理!我已經建立了一個n:n的關係,但同一組模型上的1:n,似乎工作正常...... – neolaser

相關問題