如何在 Yii 中根据另一个表的列值更新记录



我有两个表。一个用于配置文件,一个用于用户。我试图实现的是根据用户表中的条件更新概要文件表中的字段。

我想最终实现对以下查询:

UPDATE profile
   SET p.cost = 1200
FROM Profile p 
   INNER JOIN users u ON p.user_id = u.id
WHERE u.status = 1

只需在SQL或MYSQL中使用TRIGGERS即可。因此,您可以对另一个或相关的表执行所有操作,如INSERT、UPDATE&删除。

例如-http://www.mysqltutorial.org/create-the-first-trigger-in-mysql.aspx

在模型的"afterSave"函数中,您可以检查条件($user->hasProfile)http://www.yiiframework.com/doc/api/1.1/CActiveRecord#onAfterSave-详细信息,然后简单地更新配置文件。示例:

public function afterSave() {
    if($this->status == 1) {
        $this->profile->cost = 1200;
        $this->profile->save();
    }
}

相关内容

  • 没有找到相关文章

最新更新