에 대한 쿼리 결과가 없습니다. 어떻게 처리해야하며 어떤 방법이 최선인지 제안하고 싶습니다. 암시 적 바인딩 또는 일반 바인딩 메서드입니다.Laravel Implict Binding있어 모델
Laravel 경로 암시 적 바인딩을 사용하고 있습니다. 잘못된 ID를 게시하면 오류가 발생했습니다 컨트롤러에 대한 쿼리 결과가 없습니다 예외 처리기. 이제는 예외 처리기로 처리했지만이 문제를 처리하거나 암시 적 바인딩을 피하기 위해 더 나은 솔루션이 필요합니다.
//Web.php이
Route::delete('/master/user/department/{department}/delete', ['as' => 'master.user.department.destroy', 'middleware' => 'permission:master.user.department.destroy', 'uses' => 'Master\User\[email protected]']);
//DepartmentContrller.php
public function destroy(Department $department)
{
try {
$department->delete();
return redirect(route('master.user.department.index'))->with('success', array(' Department Deleted successfully'));
} catch (Exception $e) {
return back()->with('criticalError', array($e->getMessage()));
}
}
//Handler.php
if ($exception instanceof \Illuminate\Database\Eloquent\ModelNotFoundException)
{
return redirect()->back()->with('custom_modal', ['Model Not Found Exception', $exception->getMessage()]);
}
아래의 코드가 작동 완벽하게되어, 내가 좋아하는 것 어떤 방법이 가장 적합한 지 아는 것. //DepartmentContrller.php
public function destroy($id)
{
try {
$department=Department::find($id);
if($department){
$department->delete();
return redirect(route('master.user.department.index'))->with('success', array(' Department Deleted successfully'));
}
else{
return back()->with('criticalError', array('Department is not found.'));
}
} catch (Exception $e) {
return back()->with('criticalError', array($e->getMessage()));
}
}
Laravel find()는 레코드를 찾을 수 없을 때 NULL을 반환합니다. is_null()을 사용하여 find 메소드의 응답을 확인할 수 있습니다. –