【问题标题】:How to Add/Delete new MANY_MANY relation如何添加/删除新的 MANY_MANY 关系
【发布时间】:2025-12-27 15:20:09
【问题描述】:

如何在 Yii 中添加/删除新的MANY_MANY 关系? 例如,我与用户和项目有多对多的关系。并且关系设置在表'project_user_assignment' 中。我需要从表'project_user_assignment' 中添加/编辑/删除关系。

用户模型

 public function relations()
  {
    return array('projects' => array(self::MANY_MANY, 'Project', 'project_user_assignment(user_id, project_id)'),
        );
 }

项目模型

 public function relations()
{
    return array(
        'users' => array(self::MANY_MANY, 'User', 'project_user_assignment(project_id, user_id)'),
    );
}

【问题讨论】:

    标签: php yii


    【解决方案1】:

    为 project_user_assignment 表创建一个模型,这样您就可以使用该模型来添加/删除/编辑记录

    【讨论】:

    • 是否可以在不创建“project_user_assignment table”模型的情况下进行添加/删除/编辑?
    • 您可以在保存/删除对象时使用 CActiveRecordBehavior 自动保存/删除 MANY_MANY 关系对象,在您的情况下,您可能希望在用户和项目模型中添加行为,看看这个扩展link
    最近更新 更多