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/

相关文章:

javascript - 服务器端事件开始/停止

PHP 搜索功能不适用于某些产品,但适用于其他产品

php - 使用 Yii 计算表格中的元素并使用 grid.CGridView 显示数量

php - Yii 通过 id 获取用户

model - 路径分析 : CFI = 1, RMSEA = 0

php - 获取 mySQL 数据库列中所有值的 sum()

mysql - MySQL中的循环顺序

php - 如何从 Zend_Db 模型类中的另一个表中获取数据?

linux - Vagrant - 如何挂载 virtualbox 共享文件夹? ("vboxsf"不可用)

javascript - 将 JavaScript 变量添加到模型中