Запрос между датами или соответствующими диапазонами дат в laravel и eloquent - PullRequest
0 голосов
/ 06 декабря 2018

Я создаю страницу, которая отображает текущие заказы на обслуживание текущей недели.Я могу успешно запросить базу данных для задач, которые происходят между двумя датами, но проблема, с которой я сталкиваюсь, заключается в следующем.

Допустим, текущая неделя начинается 02/12 и заканчивается 08/12, и у меня естьзаказ на обслуживание, который выполняется с 01/12 по 10/12, он превосходит диапазон дат текущей недели на один день в дате начала и на два дня в дату окончания.

Если бы я смог прояснить ситуациюКак мне выполнить запрос к базе данных, чтобы получить сервисные заказы, которые происходят в течение текущей недели, но даты начала и окончания которых находятся за пределами диапазона текущей недели?

Вот код, который я использую для запроса базы данных о SO между датами:

->whereBetween("service_orders.initial_date", array($initialDate, $finalDate))
->orWhereBetween("service_orders.final_date", array($initialDate, $finalDate))
->where("service_orders.completed_date", "=", null)
->get();

Спасибо за вашу помощь!

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Попробуйте это:

->where(function($q) use($initialDate, $finalDate){
   $q->whereBetween("service_orders.initial_date", array($initialDate, $finalDate))
     ->orWhereBetween("service_orders.final_date", array($initialDate, $finalDate));
})
->where("service_orders.completed_date", "=", null)
->get();
0 голосов
/ 06 декабря 2018

попробуйте это,

->where("service_orders.initial_date", '<', $finalDate)
->where("service_orders.final_date", '>', $initialDate)
->where("service_orders.completed_date", "=", null)
->get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...