ThinkPHP whereメソッド:クエリーまたは操作条件の設定

1440 ワード

ThinkPHP where()
ThinkPHP where()メソッドは、データベースクエリーや更新、削除などの操作条件を設定するModelクラス内蔵メソッドです.
whereメソッドは、文字列、配列、およびオブジェクトで条件を設定することをサポートします.このメソッドは独立して使用することはできません.select()、find()、delete()などのデータ操作メソッドと組み合わせて使用する必要があります.
文字列方式
文字列方式条件とは、文字列の方式で条件をwhere()メソッドのパラメータとし、例:
$Dao = M("User");
$List = $Dao->where('uid<10 AND email="[email protected]"')->find();
実際に実行されるSQLは次のとおりです.
SELECT * FROM user WHERE uid<10 AND email="[email protected]" LIMIT 1
文字列方式で設定された条件は実際のSQLが実行する条件であり、最も原生SQLに近い方式でもあり、ThinkPHPは条件を何もチェックしない.
はいれつほうしき
ほとんどの場合、クエリ条件としてインデックス配列またはオブジェクトを使用することを推奨します.これにより、より安全になります.詳細は、「ThinkPHPタイプ検出」を参照してください.
配列方式を使用するwhere条件の例:
$Dao = M("User");
//       
$condition['uid'] = array('elt',10);
$condition['email'] = "[email protected]";
$List = $Dao->where($condition)->find();
この例は,文字列方式を用いた例と同様に実行効果がある.
オブジェクトの操作
whereメソッドは、クエリーまたは操作条件を設定するためにオブジェクトを使用することもでき、任意のオブジェクトを使用することもできます.stdClass内蔵オブジェクトを例にとります.
$Dao = M("User");
//       
$condition = new stdClass(); 
$condition->uid = array('elt',10);
$condition->email = "[email protected]";
$List = $Dao->where($condition)->find();
オブジェクト方式と配列方式を用いる条件効果は同じであり,互換性がある.
ThinkPHP where配列やオブジェクト方式を使用する場合、ThinkPHP特有のクエリー式を使用します.具体的には「ThinkPHP式」を参照してください.