我在使用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');
无法为此制定正确的语法,我们将不胜感激任何帮助: - )
答案 0 :(得分:3)
两件事。首先,您是否尝试将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 )');
答案 1 :(得分:2)
你可以使用第一个参数来接受函数 - &gt; where。
$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”包装在不进行评估的单引号中。