Проверьте, существует ли интервал времени между двумя заданными временем начала и окончания - PullRequest
0 голосов
/ 08 июля 2019

У меня есть два поля в базе данных с именами start_time и end_time Я хочу узнать, существует ли введенный пользователем value интервал между этими временными диапазонами, если он существует, тогда только моя функция возвращает true в противном случае false. Для этого я написал этот запрос, но он не работает должным образом. Время начала содержит время в формате AM PM, которое я преобразовал, например: 7: 30 AM и 9: 30 AM для времени начала и окончания соответственно. Пожалуйста, помогите разобраться в моей проблеме.

$this->db->group_start()->where('TIME(start_time) <=',
date('H:i:s',strtotime($start_time)))->where('TIME(end_time) >=',
date('H:i:s',strtotime($end_time)))->group_end()->or_group_start()->where('TIME(start_time) <=',
date('H:i:s',strtotime($end_time)))->where('TIME(end_time) >=',
date('H:i:s',strtotime($start_time)))->group_end();

1 Ответ

0 голосов
/ 08 июля 2019

Вы можете просто сравнить время в MySQL Query, если вы используете один и тот же формат для всех записей

$time = "7:31 AM";
$this->db->where('start_time <=', $time);
$this->db->where('end_time >=', $time);

Необработанный запрос:

SELECT * FROM `table` WHERE `start_time`<='7:35 AM' AND `end_time`>='7:35 AM'

testing in phpmyadmin

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...