Wheremancy
WHERE句を生成するためのオブジェクトです。
Daomancyが内部で使用するほか、Daomancyで対応しきれない条件の生成のために直接Wheremancyを使用する場合があります。(IN句、IS NULL句、カッコを使用したネスト条件など)
すべての条件指定メソッドが、プレースホルダ「?」の使用を前提としています。文字列で検索条件を渡すときは、必ず文字列中に?が存在するようにしてください。
プレースホルダを使用しない検索条件を使用する場合は、WheremancyLiteralを使用してください。
メソッド
_
Wheremancy Wheremancy::_( mixed where [ , array params ] )
staticファクトリメソッドです。
第一引数には、文字列かWheremancyオブジェクトを指定します。
文字列を指定した場合、プレースホルダ「?」にわたすパラメータを第二引数に指定します。
注意) 文字列指定の場合、第二引数に渡されたパラメータがnullもしくは空配列のときはこのクエリ自体を生成しません。これは、ビジネスロジックからわずらわしいif文をとりのぞくための仕様です。(and_、or_なども同様です)
パラメータが不要なクエリを生成する場合はWheremancyLiteralを使用してください。
第一引数がWheremancyオブジェクトの場合、生成されるSQL文の前後には適切にカッコ()が付加されます。
where
Wheremancy Wheremancy::where( mixed where [ , array params ] )
_のエイリアスです。
in
Wheremancy Wheremancy::in( string col , array params )
IN句を生成します。
第一引数に列名、第二引数に値を指定します。第二引数の数に応じたIN句を生成します。
第二引数がnullもしくは空配列の場合、このクエリを生成しません。
isNull
Wheremancy Wheremancy::isNull( string col )
IS NULL句を生成します。
引数には列名を指定します。
isNotNull
Wheremancy Wheremancy::isNotNull( string col )
IS NOT NULL句を生成します。
引数には列名を指定します。
and_
Wheremancy Wheremancy->and_( mixed where [ , array params ] );
AND句を生成します。
引数は_メソッドと同様です。
引数にWheremancyオブジェクトを指定した場合、生成されるクエリの前後には適切にカッコ()が付加されます。
注意) 'and'がPHPの予約語のため、メソッド名の最後にアンダーライン'_'がつきます。
or_
Wheremancy Wheremancy->or_( mixed where [ , array params ] );
OR句を生成します。
引数は_メソッドと同様です。
引数にWheremancyオブジェクトを指定した場合、生成されるクエリの前後には適切にカッコ()が付加されます。
注意) 'and'がPHPの予約語のため、メソッド名の最後にアンダーライン'_'がつきます。
toSQL
string Wheremancy->toSQL();
SQLを生成します。
getParams
array(string) Wheremancy->getParams();
設定されているすべてのSQLパラメータ(SQL中のプレースホルダ「?」に渡される値)を適用順に配列で返します。