/** * Metodo que obtiene un objeto segun las especificaciones dadas. * @param string $table Nombre de la tabla. * @param int|string $value Valor a buscar. * @param string $column Nombre de la columna en la tabla. * @param int $dataType Tipo de dato. * @return array|bool Si es FALSE, no hay datos. */ protected static function selectBy($table, $value, $column, $dataType = \PDO::PARAM_STR) { $parameter = ":{$column}"; $where = "{$column} = {$parameter}"; $prepare[] = DBController::prepareStatement($parameter, $value, $dataType); return self::select($table, $where, $prepare); }
/** * Metodo que obtiene todos los posts que coinciden su titulo. * @param string $value Titulo. * @return Posts|bool Si es FALSE, no hay datos. */ public static function selectByTitle($value) { $val = "%{$value}%"; $parameter = ':' . Post::POST_TITLE; $where = Post::POST_TITLE . " LIKE {$parameter}"; $prepare[] = DBController::prepareStatement($parameter, $val, \PDO::PARAM_STR); $select = self::select(Post::getTableName(), $where, $prepare); return self::getInstanceData($select); }
/** * Metodo que obtiene todos los usuarios que coinciden con su nombre real. * @param string $val * @return Users */ public static function selectByName($val) { $value = "%{$val}%"; $parameter = ':' . User::USER_NAME; $where = User::USER_NAME . " LIKE {$parameter}"; $prepare[] = DBController::prepareStatement($parameter, $value, \PDO::PARAM_STR); $select = self::select(User::getTableName(), $where, $prepare); return self::getInstanceData($select); }
/** * Metodo que guarda los datos establecidos. * @param string $parameter Indice a buscar. EJ: ":ID" * @param string $value Valor del indice. * @param int $dataType Tipo de dato. EJ: \PDO::PARAM_* */ private function addPrepare($parameter, $value, $dataType) { $this->prepareStatement[] = DBController::prepareStatement($parameter, $value, $dataType); }
/** * Metodo que obtiene el número de POST realializados. * @return int */ public function getCountPosts() { $db = DBController::getConnection(); $table = Post::getTableName(); $fetch = 'fetchAll'; $userIDPost = Post::USER_ID; $where = "{$userIDPost} = :{$userIDPost}"; $prepare = [DBController::prepareStatement(":{$userIDPost}", $this->getID(), \PDO::PARAM_INT)]; $columns = 'COUNT(*) AS count'; $select = $db->select($table, $fetch, $where, $prepare, $columns); return $select[0]['count']; }