/** * Updates an existing DataManagement model. * If update is successful, the browser will be redirected to the 'view' page. * @param string $id * @return mixed */ public function actionUpdate($id) { $model = $this->findModelUpdatable($id); $domisili = new TabelDomisili(); $currentDomisili = TabelDomisili::find()->where('current = 1 and nik = ' . $id)->one(); $lokasi = new \yii\base\DynamicModel(['alamat', 'kelurahan', 'kecamatan', 'kabupaten', 'provinsi']); $lokasi->addRule(['kelurahan', 'kecamatan', 'kabupaten', 'provinsi'], 'string', ['max' => 20])->addRule(['alamat'], 'string', ['max' => 255]); $lokasi->alamat = $currentDomisili['alamat']; $lokasi->kelurahan = $currentDomisili['kelurahan']; $lokasi->kecamatan = substr($lokasi->kelurahan, 0, strlen($lokasi->kelurahan) - 3); $lokasi->kabupaten = substr($lokasi->kecamatan, 0, strlen($lokasi->kecamatan) - 3); $lokasi->provinsi = substr($lokasi->kabupaten, 0, strlen($lokasi->kabupaten) - 2); if ($model->load(Yii::$app->request->post()) && $domisili->load(Yii::$app->request->post()) && $lokasi->load(Yii::$app->request->post()) && $model->save()) { // VarDumper::dump($_POST["DynamicModel"]["kelurahan"], 6666, true); echo Yii::$app->request->post("DynamicModel['kelurahan']"); if ($_POST["DynamicModel"]["kelurahan"] != $currentDomisili['kelurahan'] || $_POST["TabelDomisili"]["alamat"] != $currentDomisili['alamat']) { $domisili->current = 1; $domisili->nik = $id; $domisili->nik_pencatat = Yii::$app->user->id; $domisili->kelurahan = $lokasi->kelurahan; $domisili->save(false); $currentDomisili['current'] = 0; $currentDomisili->update(); } //VarDumper::dump($domisili->getErrors(),5678,true); //VarDumper::dump($model->getErrors(),5678,true); //echo var_dump($domisili); $this->writeLog('Memperbarui Data dengan NIK ' . $model->nik); return $this->redirect(['view', 'id' => $model->nik]); } else { return $this->render('update', ['model' => $model, 'updatable' => $model, 'domisili' => $currentDomisili, 'lokasi' => $lokasi]); } }