Verifique se o modelo foi salvo
save()
retornará um booleano, salvo ou não salvou. Então você pode fazer:$saved = $myModel->save();
if(!$saved){
App::abort(500, 'Error');
}
Ou salve diretamente no if:
if(!$myModel->save()){
App::abort(500, 'Error');
}
Observe que não faz sentido chamar
save()
duas vezes seguidas como no seu exemplo. E, a propósito, muitos erros ou problemas que impediriam que o modelo fosse salvo lançarão uma exceção de qualquer maneira ... Verifique se a consulta retornou um resultado
first()
retornará null
quando nenhum registro for encontrado para que sua verificação funcione. No entanto, como alternativa, você também pode usar firstOrFail()
que lançará automaticamente uma ModelNotFoundException
quando nada for encontrado:$UserProduct = Product::where('seller_id', '=', $userId)->firstOrFail();
(O mesmo vale para
find()
e findOrFail()
) Verifique se a consulta foi executada
Infelizmente com
create
não é tão fácil. Aqui está a fonte:public static function create(array $attributes)
{
$model = new static($attributes);
$model->save();
return $model;
}
Como você pode ver, ele criará uma nova instância do modelo com o
$attributes
e então chame save()
. Agora se save()
onde retornar true você não saberia porque obteria uma instância de modelo de qualquer maneira. O que você pode fazer, por exemplo, é verificar o id dos modelos (já que isso só está disponível depois que o registro é salvo e o id recém-criado é retornado) if(!$newUser->id){
App::abort(500, 'Some Error');
}