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