eq( フィールド , 値 )指定したフィールドの値が等しい、あるいは等しくない、という場合に用いる「=」「!=」といった演算器号に相当するのが「eq」「notEq」メソッドです。例えば、 eq('name','taro') というのは、「where 'name' = 'taro'」といったクエリーと同じものと考えればよいでしょう。
notEq( フィールド , 値 )
gt( フィールド , 値 )「フィールド > 値」あるいは「フィールド >= 値」というように、そのフィールドの値が、引数の値より大きいものを検索するためのものです。
gte( フィールド , 値 )
lt( フィールド , 値 )「フィールド < 値」あるいは「フィールド <= 値」というように、そのフィールドの値が、引数の値より小さいものを検索するためのものです。
lte( フィールド , 値 )
isNull( フィールド )これは、指定したフィールドの値がnullかどうかをチェックするためのものです。例えば、isNotNull('name')とすれば、nameフィールドがnullではないものだけを検索します。
isNotNull( フィールド )
like( フィールド , 値 )あいまい検索(LIKE検索)を行うためのものです。例えば、like('name','%ko') とすれば、「name like '%ko'」という条件式(nameの値が'ko'で終わるもの)になります。
notLike( フィールド , 値 )
in( フィールド , 配列 )
フィールドの値が、用意した配列の値のいずれかと等しいものを検索するためのものです。例えば、 in('name',['taro','jiro','hanako']) とすれば、「'name' in ('taro','jiro','hanako')」といったクエリーと同じ働きをするようになります。※リストが表示されない場合
AddBlockなどの広告ブロックツールがONになっているとリストなどが表示されない場合があります。これらのツールをOFFにしてみてください。
public function find() { $persons = []; if ($this->request->is('post')) { $find = $this->request->data['find']; $query = $this->Persons->find(); $exp = $query->newExpr(); $fnc = function($exp, $f) { return $exp ->isNotNull('name') ->isNotNull('mail') ->gt('age',0) ->in('name', explode(',',$f)); }; $persons = $query->where($fnc($exp,$find)); } $this->set('persons', $persons); $this->set('msg', null); }
<< 前へ | 次へ >> |