Example #1
0
 /**
  * Metodo que realiza una consulta a la base de datos.
  * @param string $where [Opcional] Condiciones.
  * @param array $prepare [Opcional] Lista de indices a reemplazar en la consulta.
  * @param string $columns [Opcional] Por defecto "*". Columnas.
  * @param int $limit [Opcional] Numero de datos a retornar.
  * @return PostsTerms
  */
 private static function select($where = '', $prepare = [], $columns = '*', $limit = '')
 {
     $db = DBController::getConnection();
     $table = PostTerm::getTableName();
     $fetch = 'fetchAll';
     $select = $db->select($table, $fetch, $where, $prepare, $columns, '', $limit);
     $postsTerms = new PostsTerms();
     $postsTerms->addPostsTerms($select);
     return $postsTerms;
 }
Example #2
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);
     }
 }