[CakePHP]複数検索語句に対してLIKE 検索を行う方法

[Cakephp 1.2.3]

時々プログラミングの話も書いていきます。 Cakephpは、キーワード検索などの際に同一のフィールドに対してLIKE検索を行おうとすると、 配列のキーが重なってしまうため、上手く動作しません。以下のような場合です。

[php]
$conditions = array(‘AND’ => array(
‘Model.field_name LIKE’ => "%".$keyword."%",
‘Model.field_name LIKE’ => "%".$keyword."%"
));
[/php]

まあ、これは言語の仕様上しょうがないところです。 こういうときは、以下のようにして解決できます。

[php]
$conditions = array(‘AND’ => array(
array(‘Model.field_name LIKE’ => "%".$keyword."%"),
array(‘Model.field_name LIKE’ => "%".$keyword."%"),
));
[/php]

この記事における開発環境は以下です。 Cakephp 1.2.3 php5.3 Mysql 5.1

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.