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

  関連記事

mysql-logo
mysqlnd

PHP5および6用のMySQLのネイティブドライバです。 mysqliで利用して …

php-logo
WordPress_faqプラグインの利用

Q and A WordPress FAQ Manager やはり、すでにwor …

php-logo
PHPの日付計算

[日付比較] http://ameblo.jp/hyperdev/entry-1 …

php-logo
Smarty の特徴

http://www.smarty.net/docsv2/ja/what.is. …

google-logo
クロームでブラウザ・端末エミュレート機能の使い方。えらく見つけづらくなった。。

クロームのエミュレーターが見つけづらくなったのでメモ。 ①デベロッパーツールを開 …