我使用带有数据透视表的through
将我的模型设置为多对多。但是,我想在数据透视表中添加一些额外的数据。
过去(kohana 3.0
)我能够使用add方法提供额外的数据
$obj->add('alias', $related, array('extra'=>'data'))
但在Kohana 3.3中似乎add
方法没有提供额外数据的第三个参数,我似乎无法找到如何在保存之后做到这一点,添加更多数据然后重新保存。
答案 0 :(得分:2)
自Kohana 3.1
以来不再支持此功能。
他们删除它的原因(来源:http://dev.kohanaframework.org/issues/3754):
我们决定删除它,因为最好使用直通模型 如果您需要将数据放入数据透视表中。插入数据 直接在add()方法中绕过验证和过滤 通常会在你的模型中。如果您需要数据,请使用模型 通过表。我们不会改变这一点。
您现在必须为数据透视表创建一个模型,并将其他信息放在该模型中。
然后,不应使用has_many "through" (n:n)
,而应将两个表的has_many (1:n)
关系用于数据透视表。
我希望这能回答你的问题。