/** * Registra campos de ordenação. * * @param string $name * @param string $order * @throws IllegalArgumentException * @return ModelAbstract * */ private function _registerOrderBy($name, $order = 'ASC') { # converte apenas a primeira letra do nome para minusculo $name[0] = strtolower($name[0]); $message = sprintf(self::NON_EXISTENT_ATTRIBUTE, $name); IllegalArgumentException::throwsExceptionIfParamIsNull($this->_persist->annotation()->hasAttr($name), $message); $this->_persist->orderBy($name, $order); return $this; }
/** * Deleta dados no repositório. * * @param ValueObjectAbstract $valueObject * @return Persist * @throws PersistException * */ public function delete(ValueObjectAbstract $valueObject) { $annon = parent::annotation()->load(); $sial_queryFields = ''; foreach ($annon->attrs as $field) { if ($attr = self::getIfDefined($field, 'keyLdap')) { $get = $field->get; $params[$field->ldap] = $valueObject->{$get}(); $params['keyLdap'] = $field->keyLdap; } } $query = self::DELETE_FUNCTION; try { $this->getConnect()->prepare($query, $params)->update(); } catch (PersistException $pEexc) { throw $pEexc; } }