У меня проблема с записью, которую я хочу проверить, если мы уже отметились в этот день или нет. Если мы проверяем в этот день и не проверяем scan_in_time, должно возвращаться false, в противном случае возвращается уже проверка.
Это мой код ниже, когда я пишу, чтобы проверить, существует ли посещаемость check_in или нет, с помощью Attendance_date и scan_in_time
public function checkinExists(){
$check_attendance = Attendance::whereDay('attendance_date', request('day'))
->whereMonth('attendance_date', request('moth'))
->whereYear('attendance_date', request('year'))
->whereNotNull('scan_in_time')
->where('user_id', auth()->user()->user_id)
->exists();
dd($check_attendance);
if (!$check_attendance){
return response()->json(
[
'message' => 'No checkin'
]
);
}else{
return response()->json(
[
'message' => 'Checked in'
]
);
}
}
Когда я использую dd ($ check_attendance), и POSTMAN возвращает false, но запись существует в базе данных. Как я могу улучшить код здесь, большое спасибо.






Ваш запрос должен быть таким, а также убедитесь, что формат даты правильный. Убедитесь, что вы правильно передаете объект запроса. Я надеюсь это сработает
public function checkinExists(Request $request){
$check_attendance = Attendance::whereDay('attendance_date','>=',
request->day)
->whereMonth('attendance_date','>=', request->month)
->whereYear('attendance_date','>=', request->year)
->whereNotNull('scan_in_time')
->where('user_id', auth()->user()->user_id)
->exists();
dd($check_attendance);
if (!$check_attendance){
return response()->json(
[
'message' => 'No checkin'
]
);
}else{
return response()->json(
[
'message' => 'Checked in'
]
);
}
}
Запрос, если я удалил этот '>', результат не вернет отметку, даже если запись существует в базе данных]
Я не уверен, что запрос неверен, или я установил неверно, потому что я установил дату посещения (Г-м-д). в основном, если этот запрос передает WhereDay, whereMonth, whereYear, он должен возвращать истину с помощью exists (). Но этот возвращает ложь, я не понимаю.
я использую аутентификацию JWT с токеном
«Недопустимое сочетание оператора и значения». Я получил это сообщение об ошибке