CakePHPで、検索条件がちょっと複雑なケースの扱い

本日はまったこととか。

SELECT * FROM Post Where date between '2009-11-20' and '2009-11-22'

みたいなSQLであらわされる条件をCakePHPのconditionsでやる場合。

“1.2RCのLIKE,BETWEEN,INの書き方まとめ” フォーラム – CakePHP Users in Japan
条件が複数の場合こういう書き方をするとよいらしい。

<?php
$conditions = array("Post.title LIKE" => "%post%");
$conditions = array("Post.date BETWEEN ? AND ?" => array("2008-1-1", "2009-1-1"));
$conditions = array("Post.title LIKE ?" => array("%post%"));
$conditions = array("Post.id" => array(1,2,3,4,5));
?>

betweenの場合は、valueにさらにarrayで与えるのね。

Comments are closed.