Проверьте наличие между двумя датами в поле дня

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

Я положил данные моей таблицы:

введите описание изображения здесь

введите описание изображения здесь

Я понимаю, что если я делаю foreach и проверяю изо дня в день, я могу получить его, но я не хочу этого таким образом, я хочу сделать это правильно с mysql

Это запрос, который я сейчас выполняю, и он не дает ожидаемых результатов. это назовите мою страницу

    $start_date  = fecha_mysql_slash($this->input->get('start_date'));
$end_date    = fecha_mysql_slash($this->input->get('end_date'));
$calendars   = new Calendar();
$calendars->select("*")
->where('day BETWEEN "'.$start_date.'" AND "'.$newEndDate.'" and availability > 0')
->include_related("producto",NULL,TRUE,TRUE)
->group_by("producto_id")
->get()->all;

Теперь я попытаюсь объяснить мне, через форму я получаю дату начала, а также дату окончания, поэтому я должен проверить в таблице календаря от даты начала до даты окончания, если существует в поле «день», а также который имеет доступность больше нуля, ну с этим запросом я не могу его получить.

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

Например, я делаю запрос по датам 2017-03-13 и 2017-03-25, проблема, которую, как мне кажется, я не понимаю, потому что я получаю идентификатор продукта, когда с 2017-03-13 нет записей для этих товар.

Я надеюсь, что вы можете помочь мне,

большое спасибо вам.

0

Решение

У тебя есть:

$end_date    = fecha_mysql_slash($this->input->get('end_date'));

а также

->where('day BETWEEN "'.$start_date.'" AND "'.$newEndDate.'" and availability > 0')

$ end_date — это переменная, отличная от $ newEndDate. Измените $ newEndDate на $ end_date, и оно должно работать.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector