标签:存储 code func ken yii 实测 字段 each false
项目中,遇到这样的场景: 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表中没有记录)
标签:存储 code func ken yii 实测 字段 each false
原文地址:http://blog.51cto.com/44855/2171148