7月
17
2010
CakePHPの検索機能
投稿者: admin, カテゴリ: CakePHP, tags: MySQL投稿日: 2010.07.17 - 02:13
更新日: 2010.07.17 - 02:16
CakePHPで簡単に検索する方法。。。うーん。。。
◆使い方
$this->Model->findByFieldName($FieldNameSearchWord)基本$this->Model->findByIdAndName($id, $name)も可$this->Model->findByIdOrName($id, $name)も可
◆注意など
- いくつも続けて書く事ができる(findByNameOrTitle([KEYWORD]))
- ANDとORは混在できない
- PHP4とPHP5で書き方が違うらしい
◆あいまい検索はできない
※あいまい検索(LIKE %KeyWord%)はSQLインジェクション対策でNGらしい。発行されるSQLは以下のとおりなので。
SELECT `Item`.`id`, `Item`.`group_id`, `Item`.`name`, `Item`.`item_group_id`, `Item`.`created`, `Item`.`updated`, `ItemGroup`.`id`, `ItemGroup`.`group_id`, `ItemGroup`.`name`, `ItemGroup`.`created`, `ItemGroup`.`updated` FROM `prefix_items` AS `Item` LEFT JOIN `prefix_item_groups` AS `ItemGroup` ON (`Item`.`item_group_id` = `ItemGroup`.`id`) WHERE `Item`.`name` = '%test' LIMIT 1
◆参考文献
- CakePHP findBy での複数指定を調べたメモ | Sun Limited Mt. :
http://www.syuhari.jp/blog/archives/135 - findBy :: データを取得する :: モデル :: CakePHPによる開発 :: マニュアル :: 1.2コレクション :: The Cookbook :
http://book.cakephp.org/ja/view/451/findBy
エントリ (RSS)