[Codeigniter-users] SQLクエリの生成について

Back to archive index

kunitsuji tsuji****@m-s*****
2008年 7月 7日 (月) 11:45:05 JST


 kunitsujiです。

こんな感じで。OKですね。

$start_day = "start_day <= DATE_FORMAT(CURRENT_TIMESTAMP(), '%Y-%m-%d %
H:%i:%s')";
$this->db->where($start_day);
$query = $this->db->get('c_access_log_id');


>
>decoyさん、こんにちは。
>自分active recorクラスを使わないので何とも言えませんが、
>'%Y-%m-%d %H:%i:%s'が¥がついてしまうということですよね?
>
>$ymdstr = '%Y-%m-%d %H:%i:%s'
>として
>? で渡すのはむりですかね?w
>やってみてませんが。。。。これからやってみますw
>
>
>>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(クエリ直書き);すれば意図している結果は返ってきますが
>>出来るだけ避けたいと考えております。
>>
>>以上、宜しくお願い致します。 
>>
>>_______________________________________________
>>Codeigniter-users mailing list
>>Codei****@lists*****
>>http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users
>
>_______________________________________________
>Codeigniter-users mailing list
>Codei****@lists*****
>http://lists.sourceforge.jp/mailman/listinfo/codeigniter-users




Codeigniter-users メーリングリストの案内
Back to archive index