For Want Of A Better Word

【Cake】【PHP】検索条件の設定(複数条件とかLikeとか)

      2015/04/18

CakePHPのfindの検索条件の付け方ってなんか苦手だったけどちょとわかったので整理。

条件設定の基礎

複数の条件を設定する場合array(key->value);をポンポン追加していけば、それらはANDで検索される。
(条件配列をサンプルなど見ると、[AND] => array(array(), array()…)) という風に「AND」のindexをつくっているけど、配列が複数ある場合は自動でANDでつないでくれる模様。))

配列の構造としては、配列に「+=」で追加する

でもよいし

でもよい

ただし、同一の項目にANDとかOR条件を設定する場合、前者ではキー重複により設定できないので、後者での設定が楽と思われる。

で本題

AND検索

これでは

WHERE id = 1 AND name = ‘田中’

となる。

OR 検索

じゃあ OR検索はっていうと

とOR配列を作ってその中にぶち込めばよい。

AND と OR を共存させる

たとえば

WHERE name=”田中” AND (count =”1″OR count=”2″)

一つのフィールドに対して複数 AND

WHERE name LIKE ‘田’ AND name LIKE ‘中’

Betweenを使う

【参考】
CakePHPでMySQLのBETWEENを使う | 株式会社LIG

$params = array(‘conditions’ => array(‘id BETWEEN ? AND ?’ => array(’10’, ’20’)));

プレースホルダ的に使えるということ?

ふむーーー

 - cake, php

  関連記事

php-logo
code sniffer コーディングルール

インストール http://homepage3.nifty.com/renoiv …

php-logo
チャンク(トークン)

■チャンク 大きな塊、ぶつ切り、大量(の)、などの意味を持つ英単語。 データ通信 …

cakephp_logo
【Cake】【リリース前要チェック】アプリケーショントップにアクセスしたときの表示画面

公開領域のcakeフォルダを作成。 そこにTestControllerがあってi …

wordpress_logo
wordpress インストール後に設定したことまとめ

・gushテンプレートの修正 ・gajsの設定 ・ ・tinymiceの導入 ・ …

centos_logo
古いバージョンのPHP環境の作り方

windows xamppの古いバージョンをインストールしてあげるのが一番簡単。 …