Проверить существующую запись, но она существует в базе данных, и вернуть ложный результат, когда dd ()

У меня проблема с записью, которую я хочу проверить, если мы уже отметились в этот день или нет. Если мы проверяем в этот день и не проверяем 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, но запись существует в базе данных. Как я могу улучшить код здесь, большое спасибо.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
21
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Ваш запрос должен быть таким, а также убедитесь, что формат даты правильный. Убедитесь, что вы правильно передаете объект запроса. Я надеюсь это сработает

 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'
          ]
        );
      }
    }

«Недопустимое сочетание оператора и значения». Я получил это сообщение об ошибке

Huy Nguyen 18.11.2018 07:52

Запрос, если я удалил этот '>', результат не вернет отметку, даже если запись существует в базе данных]

Huy Nguyen 18.11.2018 07:54

Я не уверен, что запрос неверен, или я установил неверно, потому что я установил дату посещения (Г-м-д). в основном, если этот запрос передает WhereDay, whereMonth, whereYear, он должен возвращать истину с помощью exists (). Но этот возвращает ложь, я не понимаю.

Huy Nguyen 18.11.2018 08:02

я использую аутентификацию JWT с токеном

Huy Nguyen 18.11.2018 08:08

Другие вопросы по теме