2015年1月31日土曜日

CodeIgniterのActiveRecordのWHERE句の確認

Confirmation of the WHERE clause of ActiveRecord of CodeIgniter

$this->db->where(); で指定した中身は、
$where = $this->db->ar_where;
で取り出せます。

CodeIgniter でサブクエリ

Subquery in CodeIgniter
ActiveRecord で EXISTS を使用するとき、

$this->db->where("EXISTS (SELECT * FROM hoge WHERE name = '"
. $this->db->escape($name)
. "' AND fuga.hoge_id = hoge.id)",
NULL,
FALSE);

第3引数にFALSE を指定するのがポイント!
そうしないと、EXISTS という文字列自体がエスケープされてしまいます。