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(クエリ直書き);すれば意図している結果は返ってきますが 出来るだけ避けたいと考えております。 以上、宜しくお願い致します。