decoy
youtu****@gmail*****
2008年 7月 6日 (日) 14:34:52 JST
decoyです。
WHERE句に
start_day <= DATE_FORMAT(CURRENT_TIMESTAMP(), '%Y-%m-%d %H:%i:%s')
AND end_day >= DATE_FORMAT(CURRENT_TIMESTAMP(), '%Y-%m-%d %H:%i:%s')
というものを使いたい場合
Active Record クラスのwhereメソッドやget_whereメソッドに
どのように書けばクエリが正しく生成されますでしょうか。
1.
$this->db->get_where(
テーブル名,
array(
'start_day <=' => "DATE_FORMAT(CURRENT_TIMESTAMP(), '%Y-%m-%d
%H:%i:%s')",
'end_day =>' => "DATE_FORMAT(CURRENT_TIMESTAMP(), '%Y-%m-%d
%H:%i:%s')",
),
);
2.
$this->db->where('start_day <=', "DATE_FORMAT(CURRENT_TIMESTAMP(), '%Y-%m-%d
%H:%i:%s')");
$this->db->where('end_day >=', "DATE_FORMAT(CURRENT_TIMESTAMP(), '%Y-%m-%d
%H:%i:%s')");
$this->db->get(テーブル名);
1や2のやり方でやった場合、下記のようになってしまい正しく生成されませんでした。
start_day <= 'DATE_FORMAT(CURRENT_TIMESTAMP(), \'%Y-%m-%d %H:%i:%s\')'
end_day >= 'DATE_FORMAT(CURRENT_TIMESTAMP(), \'%Y-%m-%d %H:%i:%s\')'
$this->db->query(クエリ直書き);すれば意図している結果は返ってきますが
出来るだけ避けたいと考えております。
以上、宜しくお願い致します。