2012-01-12 68 views
4

データベースの日付を今から1週間後のactiverecordと比較する際に問題があります。私は開始日が1週間未満のイベントのリストを返そうとしています。Codeigniterデータベースの日付比較

event_start_dateは、2011年6月30日9時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'); 

は、このために右の構文をワークアウトのトラブルを持っていることの形式である、任意のヘルプは

答えて

3

:-)いただければ幸いです2つのこと。必要に応じて、ちょうどどこ機能を使用してスキップして、このようにクエリ全体を入れ、

$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

私はちょうど1つの大きな質問を書いてしまい、そのようにしました。それを別々の行に分割することはずっと簡単です。 –

+0

where()を使用したhateofはどうですか?それは遅いコードのためですか? – Exegesis

2

することができますだけ - >を使用して関数を受け入れるには、最初の引数を使用します。

$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"は評価されない単一引用符で囲みます。