Update sempre retornando verdadeiro
iaematt opened this issue · 3 comments
Utilizando o DataLayer em uma mini aplicação notei que quando eu passava um dado inválido para um campo no banco de dados tentando atualizar o registro, ele sempre retornava verdadeiro, quando era para retornar falso pois o campo não aceita esse tipo de dado dentro do banco de dados. (ex: enviar uma string em um campo de inteiros)
Fui verificar e dentro do DataLayer quando realiza a função $this->update ele retorna um int|null, e não é verificado dentro da função $this->save esse tipo, é verificado apenas se retornou false, que no caso do update retorna null quando não foi possível salvar.
Estou com a mesma situação, e no meu caso nem o update está ocorrendo, e nem a exceção;
$user = (new Source\Models\Users())->findById($form['id']);
$user->status = 2;
$userId = $user->save();
Testei o seguinte código e resolveu o problema, retornando falso.
if ($save || $save === false) {
return false;
}
Na linha 308 do arquivo DataLayer.php.
Obrigado