yii2 aftersave怎么用

互联网 19-11-5
yii2在保存完之后,会调用aftersave方法,aftersave里只做了一件事,就是触发了相应的event事件,EVENT_AFTER_INSERT或者EVENT_AFTER_UPDATE,可以看下Yii2的event

需要把用户提交的数据保存到 look 表,同时表单中的 add_img 图片地址数组,分别保存到 lookmeida 表。 (推荐学习:yii教程)

  public function afterSave($insert,$changedAttributes)     {        if (Yii::$app->id=='app-backend'){            //保存图片字段             $add_imgarr=$this->add_img;            if ($add_imgarr){                foreach (array_filter($add_imgarr) as $mediaurl){                     $lookmedia=new Lookmedia();                     $lookmedia->lookid=$this->lookid;                     $lookmedia->mediaurl=$mediaurl;                     $lookmedia->type=0;                     $lookmedia->save();                 }             }         }        if (parent::afterSave($insert,$changedAttributes)) {            return true;         }else return false;     }

这里只提三点,也算是几个坑吧:

1)afterSave 的参数,$insert 和 $changedAttributes 是固定写法,必须要有,否则报错。

2)函数内部,在本地环境中,我之前写的是 beforeSave 无报错,程序运行正常;但移植到服务器上之后,会报错,于是改为 afterSave 后正常。

3)实测,我们新增的逻辑,必须放在 parent 函数之外,否则不会被执行(图片已经上传,但是lookmedia表中没有记录)

以上就是yii2 aftersave怎么用的详细内容,更多内容请关注技术你好其它相关文章!

来源链接:
免责声明:
1.资讯内容不构成投资建议,投资者应独立决策并自行承担风险
2.本文版权归属原作所有,仅代表作者本人观点,不代表本站的观点或立场
标签: yii2
上一篇:php获取远程图片并下载保存到本地的方法分析 下一篇:yii怎么使用jquery

相关资讯