queryメソッドで値をbindする。

基本的に自分は「SQLに出来る事はSQLで」って方針なので、
多少複雑なSQLを書く事が多い。
CakePHPでも、queryメソッドは多用する事になりそうだ。

で、queryメソッドでも値をbindできるようだ。
これで、エスケープ処理の手間が省ける。

$title = $this->data['Post']['title'];

$sql = <<< DOC_SQL
SELECT * FROM posts AS Post where post.title = ?
DOC_SQL;

$this->set('posts', $this->Post->query($sql,array($title)));


【参考】
http://planetcakephp.org/aggregator/items/1402-cakephpmodel-%E6%84%8F%E5%A4%96%E3%81%A8%E7%9F%A5%E3%82%89%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%EF%BC%9F-query%E3%83%A1%E3%82%BD%E3%83%83%E3%83%89%E3%81%A7%E5%80%A4%E3%82%92bind%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%A3%E3%81%A6%E3%81%93%E3%81%A8