База данных Codeigniter дата-сравнение - PullRequest
4 голосов
/ 12 января 2012

У меня проблема со сравнением дат в базе данных с неделей с помощью activerecord. Я пытаюсь вернуть список событий с датой начала менее чем через неделю.

Event_start_date имеет формат 2011-06-30 09: 00: 00

$this->db->select('event_id,title,event_start_date,location');
$this->db->where('event_start_date <=',DATE_ADD(NOW(),INTERVAL 7 DAYS ));
$query = $this->db->get('sd_events');

Если у вас возникнут проблемы с правильным синтаксисом, любая помощь будет полезна: -)

Ответы [ 2 ]

3 голосов
/ 12 января 2012

Две вещи. Во-первых, вы пытались поместить предложение where в кавычки, подобные этому:

$this->db->where('event_start_date <=','DATE_ADD(NOW(),INTERVAL 7 DAYS )');

Во-вторых, при необходимости просто пропустите, используя функцию where, и введите весь запрос следующим образом:

$this->db->query('SELECT event_id,title,event_start_date,location FROM sd_events WHERE event_start_date <= DATE_ADD(NOW(),INTERVAL 7 DAYS )');
2 голосов
/ 20 июля 2013

Вы можете просто использовать первый аргумент для принятия функций с -> где.

$this->db->select('event_id,title,event_start_date,location');
$this->db->where('event_start_date <= DATE_ADD(NOW(),INTERVAL 7 DAYS)', null);
$query = $this->db->get('sd_events');

Это должно поместить это в ваше утверждение WHERE просто asis. В противном случае, он будет заключать ваш "DATE_ADD" в одинарные кавычки, что не оценивается

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