我有 3 个表,联系人、组和联系人组。
所有模型关系均已正确设置:
联系方式.php
'groups' => array(self::MANY_MANY, 'Group', 'contact_group(contact_id,group_id)'),
组.php
'contacts' => array(self::MANY_MANY, 'Contact', 'contact_group(group_id,contact_id)'),
如果我手动创建关系,我可以使用 Yii 的 Active Record 很好地查询它们。
我想要完成的是构建一个表单,以便当用户创建联系人时,他们可以在开始时将联系人分配给一个组。我的表格如下所示:
<?php echo $form->dropDownListRow($model, 'groups', Group::getActiveGroups(), array('multiple'=>true)); ?>
这完美显示,所有组都显示我想要的方式。当用户选择一两个组时,他们会被提交。我希望这就是将用户保存在contact_group
表中所要做的一切,但事实并非如此。我可以启动一个afterSave
事件来处理插入,但只是想检查 Yii 是否有任何事情可以自行处理。