Скорее всего, проблема связана с этой строкой:
$servicePrice = ServicePrice::where('category_id', $request->category)->where('service_id', $request->service)->where('user_id', Auth::id())->first();
Если запрос не возвращает результатов из базы данных, код вернет ноль.Хорошей практикой является проверка того, является ли результат нулевым, и вы должны обработать его.
Это означает, что перед использованием $servicePrice
вам необходимо проверить, содержит ли он что-либо:
if(!$servicePrice){ //same result: if($servicePrice == null) {
//`$servicePrice==null`, so you should handle the error here - throw an exception or return
}
//your code here
$servicePrice = ServicePrice::where('category_id', $request->category)->where('service_id', $request->service)->where('user_id', Auth::id())->first();
Кроме того, аутентифицированного пользователя можно получить непосредственно из:
$user = Auth::user();
Если посетитель не аутентифицирован, $user
будет null
по той же причине, что и предыдущий.
if(!$user){
//the user is NOT authenticated
} else {
//the user is authenticated
}