save()を使用してデータを挿入する際に問題があります。 save()を使用してデータを正常に更新します。しかし、データがperticular idのデータベースに存在しない場合、データは挿入されません。 コントローラ:save()を使用してデータが存在しない場合、データは挿入されません
public function actionContact()
{
//$profile=new Profile();
$id=YII::$app->user->id;
//$users=User::find()->where('id='.$id)->one();
//$profiles=Profile::find()->where('user_id='.$id)->one();
$this->layout="profile";
$profile=$this->findModel1($id);
$data=Yii::$app->request->post();
if($data && $profile->validate()){
$profile->mobile=Yii::$app->request->post('mobile');
$profile->city=Yii::$app->request->post('city');
$profile->zip=Yii::$app->request->post('zip');
$profile->address=Yii::$app->request->post('zip');
$profile->save();
Yii::$app->session->setFlash("Contact-success", Yii::t("user", "Contact updated"));
return $this->refresh();
}
return $this->redirect(['/users/edit']);
}
いずれの解決策も高度に適用されます。
dadatが存在しない場合は、$ profile = $ this-> findModel1($ id)を置き換えます。 $ profile = new findModel1();を使ってください。 –
更新と保存の両方に同じ操作を使用していますか?これについてもっと説明すれば$ idの使用は何か私はあなたを助けることができます。応答のために –