mysql - Yii 在其他模型中调用 beforeSave() 来保存

标签 mysql yii model relationship before-save

我创建了两个表,forum_post 和 gallery。

forum_post 表:

id user_id ststus photo_id

1 1 嗨...!空
2 1 你好!空
3 1 空 1

4 1 空 2

user_gallery 表:

id user_id 图片视频

1 1 1.jpg 空

2 1 new.gif NULL

当用户在 user_gallery 表中上传图像文件时,我想在 forum_post 表中创建一行并将图库 ID 存储到 forum_post-> image 字段中。以及用户 ID 也存储在 forum_post 表中。

我在论坛帖子中的模型代码是:

public static function addForumImage($id, $user_id) {
    $forumImage = ForumPost::model()->find('LOWER(photo_id) = ?',  array( strtolower($image)));
    if (!$forumImage) {
        $forumImage = new ForumPost;
        $forumImage->photo_id = $image;
        $forumImage->save(false);
    }

UserGallery beforeSave 函数是:

protected function beforeSave() {
    if (parent::beforeSave()) {

        ForumPost::addForumImage($this->id, $this->user_id);
        // var_dump($forumPost->photo_id);
        return true;
    }
    return false;
}

我的表关系是,user_gallery->image指的是forum_post->photo_id。

现在,图像存储在 user_gallery 文件夹中,我在 ForumPost 模型中获取 ID... 请任何人帮助我.. :(

最佳答案

试试这个

protected function beforeSave() {
    if (parent::beforeSave()) {

        ForumPost::addForumImage($this->id, $this->user_id, $this->forum_image);
        // var_dump($forumPost->photo_id);
        return true;
    }
    return false;
}

模型

    public static function addForumImage($id, $user_id,$image) {
        $forumImage = ForumPost::model()->find('photo_id = :image',  array( ':image'=>strtolower($image)));
        if (empty($forumImage)) {
            $forumImage = new ForumPost;
            $forumImage->user_id=$user_id;
            $forumImage->content= NULL
            $forumImage->photo_id = $image;
            $forumImage->save(false);
        }
}

关于mysql - Yii 在其他模型中调用 beforeSave() 来保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20796598/

相关文章:

mysql - 选择在 mysql 二进制日志中记录什么

mysql - 如何从 Sonar 中的版本从 MySQL 迁移到 PostgreSQL

php - Yii 1.1:Moment::toTimeZone() 没有设置时区

python - 我如何在 Django 中模拟这种行为?

java - 如何在 Java 中加载 Weka 模型?

php - 如何在下拉列表中显示第一个字符

javascript - 使用Ajax、PHP上传PDF文件到MYSQL数据库

php - 在 YII 中使用 ffmpeg 从 mp4 视频中获取图像

php - 检查 Yii 中是否加载了关系

sql - 甲骨文 SQL : standard analytics functions vs modeling clause