CAdvancedArBehavior似乎只适用于yiic shell

时间:2012-02-14 13:07:28

标签: yii many-to-many yii-extensions

我正在使用CAdvancedArBehavior在我的Yii应用程序中保存MANY_MANY关系。我正在使用一个启用了“multiple”=“multiple”的listBox来选择相关对象,其ID作为值传递。出于某种原因,当我尝试保存模型时,相关对象没有被保存,但其他一切都是。

我已经使用print_r打印出我的POST数据来检查所有内容是否正在通过,而且似乎是。我甚至可以在yiic shell中加载我的对象并添加相同的MANY_MANY对象ID数组并正确保存。

我是否需要启用正常使用此扩展程序?我想知道是否yiic shell自动加载扩展,需要在主应用程序中进行某种手动操作?

顺便说一句,我的表单是使用CActiveForm小部件创建的,所以我的字段肯定都与对象的属性匹配。

1 个答案:

答案 0 :(得分:0)

基本上,当通过CActiveForm发送关联模型时,即使表单接受它作为字段,当您将$ _POST ['Model']分配给$ model->属性时,它也不包括关联模型(显而易见) ,当我想到它时,我想)。

基本上,这个额外的行是保存相关模型所必需的:

$model->relation_name = $_POST['Model']['relation_name'];

在$ model-> save()之前,一切正常。