Пример #1
0
 /**
  * Metodo que actualiza las etiquetas vinculadas al post. Se comprueba 
  * si se debe agregar o borrar.
  * @param array $relationshipsTermsID Identificadores de las etiquetas.
  * @param int $postID Identificador del post.
  */
 private function updateRelationshipsTerms($relationshipsTermsID, $postID)
 {
     if (!empty($relationshipsTermsID)) {
         $postsTerms = PostsTerms::selectByPostID($postID);
         //Se combina en un unico array.
         $merge = \array_merge($relationshipsTermsID, $postsTerms);
         /*
          * Se comprueba sus diferencias.
          * 
          * Al obtener la diferencias se mantienen los indices del array $MERGE
          * con array_merge se reinician los indices, evitando problemas en los modelos.
          */
         //se obtiene las categorías a eliminar
         $delete = \array_merge(\array_diff($merge, $relationshipsTermsID));
         //y las categorías a insertar.
         $insert = \array_merge(\array_diff($merge, $postsTerms));
         $this->deleteRelationshipsTerms($delete, $postID);
         $this->insertRelationshipsTerms($insert, $postID);
     }
 }