如果函数给我一个错误,我该如何阻止在模型上创建记录?
我有观察员:
public function created(Post $post)
{
Auth::guest() ? $post->sendEmailNotification($post->guest_token) : '';
}
我需要:如果sendEmailNotification
发生异常,则不创建记录。现在,如果出现异常,请发布任何创建内容。
答案 0 :(得分:1)
您必须使用creating而不是created,在创建之前会触发creating,因此只需捕获异常并返回false即可:
public function creating(Post $post)
{
try {
if (Auth::guest()) {
$post->sendEmailNotification($post->guest_token);
}
} catch (\Exception $e) {
return false;
}
}