controllers/PostController.php
public function actionUpdate($id)
    {
        $model = $this->findModel($id);		
		$model->tags = !empty($model->tags)?explode(",",$model->tags):[];				
		
		if (Yii::$app->request->post())        
        {
			$post = Yii::$app->request->post();						
			$category = [];						
			if (isset($post['Post']['category']))
			{
				$category = $post['Post']['category'];
			}			
			
			if (is_array($post['Post']['tags']))
			{
				$post['Post']['tags'] = implode(",",$post['Post']['tags']);
			}		
        
			$model->load($post);
			
			$transaction = Yii::$app->db->beginTransaction();
			try {				
						
				if ($model->save()) {
					
					$cs = BlogCatPos::deleteAll("post_id = :id",["id"=>$model->id]);							
					
					foreach ($category as $d)
					{					
						//$c = BlogCatPos::find()->where("post_id = :id AND category_id = :aid",["id"=>$model->id,"aid"=>intval($d)])->one();					
						//if (!$c)
						//{
							$c = new BlogCatPos();	
						//}					
						$c->post_id = $model->id;
						$c->category_id = $d;
						$c->isdel = 0;					
						$c->save();								
					}
					
					$transaction->commit();                                    				
					return $this->redirect(['view', 'id' => $model->id]);            
				}
				else
				{
					$transaction->rollBack();
				}				
			} catch (Exception $e) {
				$transaction->rollBack();
			}   
		}	
        
        return $this->render('update', [
			'model' => $model,
		]);
    }
public function actionUpdate($id)
    {
        $model = $this->findModel($id);		
		$model->tags = !empty($model->tags)?explode(",",$model->tags):[];				
		
		if (Yii::$app->request->post())        
        {
			$post = Yii::$app->request->post();						
			$category = [];						
			if (isset($post['Post']['category']))
			{
				$category = $post['Post']['category'];
			}			
			
			if (is_array($post['Post']['tags']))
			{
				$post['Post']['tags'] = implode(",",$post['Post']['tags']);
			}		
        
			$model->load($post);
			
			$transaction = Yii::$app->db->beginTransaction();
			try {				
						
				if ($model->save()) {
					
					$cs = BlogCatPos::deleteAll("post_id = :id",["id"=>$model->id]);							
					
					foreach ($category as $d)
					{					
						//$c = BlogCatPos::find()->where("post_id = :id AND category_id = :aid",["id"=>$model->id,"aid"=>intval($d)])->one();					
						//if (!$c)
						//{
							$c = new BlogCatPos();	
						//}					
						$c->post_id = $model->id;
						$c->category_id = $d;
						$c->isdel = 0;					
						$c->save();								
					}
					
					$transaction->commit();                                    				
					return $this->redirect(['view', 'id' => $model->id]);            
				}
				else
				{
					$transaction->rollBack();
				}				
			} catch (Exception $e) {
				$transaction->rollBack();
			}   
		}	
        
        return $this->render('update', [
			'model' => $model,
		]);
    }
public function actionUpdate ( $ id ) { $ model = $ this -> findModel ( $ id ) ; $ model -> tags = ! empty ( $ model -> tags ) ? explode ( "," , $ model -> tags ) : [ ] ; if ( Yii :: $ app -> request -> post ( ) ) { $ post = Yii :: $ app -> request -> post ( ) ; $ category = [ ] ; if ( isset ( $ post [ 'Post' ] [ 'category' ] ) ) { $ category = $ post [ 'Post' ] [ 'category' ] ; } if ( is_array ( $ post [ 'Post' ] [ 'tags' ] ) ) { $ post [ 'Post' ] [ 'tags' ] = implode ( "," , $ post [ 'Post' ] [ 'tags' ] ) ; } $ model -> load ( $ post ) ; $ transaction = Yii :: $ app -> db -> beginTransaction ( ) ; try { if ( $ model -> save ( ) ) { $ cs = BlogCatPos :: deleteAll ( "post_id = :id" , [ "id" => $ model -> id ] ) ; foreach ( $ category as $ d ) { //$c = BlogCatPos::find()->where("post_id = :id AND category_id = :aid",["id"=>$model->id,"aid"=>intval($d)])->one();					 //if (!$c) //{ $ c = new BlogCatPos ( ) ; //}					 $ c -> post_id = $ model -> id ; $ c -> category_id = $ d ; $ c -> isdel = 0 ; $ c -> save ( ) ; } $ transaction -> commit ( ) ; return $ this -> redirect ( [ 'view' , 'id' => $ model -> id ] ) ; } else { $ transaction -> rollBack ( ) ; } } catch ( Exception $ e ) { $ transaction -> rollBack ( ) ; } } return $ this -> render ( 'update' , [ 'model' => $ model , ] ) ; }
Updates an existing Post model.
If update is successful, the browser will be redirected to the 'view' page.
@param integer $id
@return mixed
Updates an existing Post model . If update is successful the browser will be redirected to the view page .