Example #1
0
 /**
  * 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;
 }
Example #2
0
 /**
  * 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;
     }
 }