Après l'enregistrement, yii2 appellera la méthode aftersave. Aftersave ne fait qu'une seule chose, qui est de déclencher l'événement correspondant, EVENT_AFTER_INSERT ou EVENT_AFTER_UPDATE. Vous pouvez jeter un œil à l'événement de Yii2
Il est nécessaire de sauvegarder les données soumises par l'utilisateur dans la table look, et en même temps, le tableau d'adresses d'image add_img dans le formulaire est enregistré respectivement dans la table lookmeida. (Apprentissage recommandé :
tutoriel yii)
Cette fonction supplémentaire d'enregistrement des images n'a pas besoin de modifier le code du contrôleur. Avec l'aide de la fonction de cycle de vie afterSave du modèle, elle peut automatiquement nous aider à terminer. . Le principe est qu'une fois l'enregistrement dans la table look sauvegardé (ou modifié), un lookid sera généré, puis nous stockerons ce lookid et ce mediaurl dans la table lookmedia.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; }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!