1
app/Exceptions/Handler.phpの次のコードでは、最初のコードは機能しませんが、2番目のコードは機能します。ラーベルのエラー処理、get_classとinstanceofの比較
dd(get_class($exception));
出力 "を照らし\データベース\雄弁\ ModelNotFoundException"。
最初はsimilar to the docです。どうすればinstanceof
を使って動作させることができますか?
public function render($request, Exception $exception)
{
//dd(get_class($exception));
// this does not work.
if ($exception instanceof Illuminate\Database\Eloquent\ModelNotFoundException
) {
return response()->json(['error'=>['message'=>'Resouce not found']], 404);
}
// This one works.
if(get_class($exception) == "Illuminate\Database\Eloquent\ModelNotFoundException") {
return response()->json(['error'=>['message'=>'Resouce not found']], 404);
}
return parent::render($request, $exception);
}
は以下のように\を追加しようこれは 'if($ exception instanceof \ Illuminate \ Database \ Eloquent \ ModelNotFoundException){// ...}'であり、動作するかどうかを確認してください! – Maraboc
いいえ、どちらも動作しません。 – shin
は '追加ModelNotFoundExceptionとして雄弁\ ModelNotFoundException \を照らし\ Databaseを使用してみてください;'上に、その後 '場合(ModelNotFoundException instanceofは$例外){// ...}' – Maraboc