2013-02-03 36 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

相关问题