/** * @param DataTransferObject $dto * @return bool|DataTransferObject */ protected function update(DataTransferObject $dto) { foreach ($dto->getReflex() as $atributo => $method) { if ($atributo != 'cd_usuario_criacao' && $atributo != 'dt_usuario_criacao') { $parametros[] = $atributo . ' = :' . $atributo; } } $parametros = implode(', ', $parametros); $sql = "UPDATE {$this->tabela}\n SET {$parametros}\n WHERE cd_vl_categoria = :cd_vl_categoria\n AND cd_categoria = :cd_categoria returning *"; foreach ($dto->getReflex() as $atributo => $method) { if ($atributo != 'cd_usuario_criacao' && $atributo != 'dt_usuario_criacao') { $dados[$atributo] = $dto->{$method}(); } } if ($this->query($sql, $this->dataTransfer, $dados)->success()) { return $this->getResultado()[0]; } return false; }
/** * @param DataTransferObject $dto * @return bool | DataTransferObject */ public function delete(DataTransferObject $dto) { $sql = "DELETE FROM {$this->tabela}\n WHERE {$this->primaryKey} = {$dto->{$dto->getReflex()[$this->primaryKey]}()} returning *"; if ($this->query($sql, $this->dataTransfer, array())->success()) { return $this->first(); } return false; }