我创建了两个表,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/