/** * Updates a particular model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id the ID of the model to be updated */ public function actionUpdate($id) { $model = $this->loadModel($id); $messageModels = LanguageModel::model()->getAllLanguageModels($id); if (isset($_POST['SourceMessageModel'])) { $model->attributes = $_POST['SourceMessageModel']; if ($_POST['MessageModel']) { foreach ($_POST['MessageModel'] as $key => $value) { if (!empty($value['translation'])) { $messageModel = MessageModel::model()->findByAttributes(array('id' => $model->id, 'language' => $key)); if ($messageModel == null) { $messageModel = new MessageModel; $messageModel->language = $key; $messageModel->id = $model->id; $messageModel->setIsNewRecord(true); } else { $messageModel->setIsNewRecord(false); } // die($messageModel->isNewRecord); $messageModel->attributes = $value; $messageModel->save(false); } } } if ($model->save()) $this->redirect(array('index')); } $this->render('update', array( 'model' => $model, 'messageModels' => $messageModels, )); }