以下のエディターは、ThinkPHPWhere条件でよく使用される式の例(詳細な説明)を提供します。編集者はこれが非常に良いものだと思ったので、皆さんの参考として今から共有します。エディターに従って見てみましょう
条件式の形式は次のとおりです:
$map['字段名'] = array('表达式', '操作条件');
$map は通常の 配列変数 で、必要に応じて名前を付けることができます。上記の形式の式は実際には 演算子 の意味です:
TP 演算子 | SQL 演算子 | 例 | 実際の クエリ条件 |
---|---|---|---|
eq | = | $map['id'] = array('eq',100); | 以下と同等: $map['id'] = 100; |
neq | ! = | $map['id'] = array('neq',100); | id != 100 |
gt | > | $map['id'] = array('gt' ,100); | id > 100 |
egt | >= | $map['id'] = array('egt',100); | id >= 100 |
lt | < | $map['id'] = array('lt',100); | id < 100 |
elt | <= | $map[ 'id'] = array('elt',100); | id <= 100 |
like | like | $map<'username'> = array('like','Admin%' ); | username like 'Admin%' |
between | between and | $map['id'] = array('between','1,8'); | id BETWEEN 1 AND 8 |
not between | と | $map['id'] = array('not between','1,8'); | id NOT BETWEEN 1 AND 8 |
in | in | $map[ 'id'] = array('in','1,5,8'); | id in(1,5,8) |
入っていない | 入っていない | $map ['id'] = array('not in','1,5,8'); | id not in(1,5,8) |
and (デフォルト) | and | $map[ 'id'] = array(array('gt',1),array('lt',10)); | (id > 1) AND (id < 10) |
or | or | $map[' id'] = array(array('gt',3),array('lt',10), 'or'); | (id > 3) OR (id < 10) |
xor ( XOR) | xor | 2 つの入力のうち 1 つだけが true の場合、結果は true になり、それ以外の場合は false になります。例は省略されています。 | 1 xor 1 = 0 |
exp | 包括的な式 | $map['id'] = array('exp','in(1,3,8)'); | $map[ ' id'] = array('in','1,3,8'); |
追記
• SQLと同様、ThinkPHP演算子は大文字と小文字を区別しません、eqとEQは同じです。
• between 条件と in 条件は 文字列 または配列をサポートしています。つまり、次の 2 つの記述方法は同等です:
$map['id'] = array('not in','1,5,8'); $map['id'] = array('not in',array('1','5','8'));
exp 式 上の表の
exp は演算子ではありません。 、より複雑な条件設定をサポートするための包括的な式です。 exp の操作条件は文字列として扱われず、関数の使用やフィールド名など、SQL でサポートされているあらゆる構文を使用できます。
exp は where 条件に使用されるだけでなく、次のようなデータ update にも使用できます:
$Dao = M("Article"); //构建 save 的数据数组,文章点击数+1 $data['id'] = 10; $data['counter'] = array('exp','counter+1'); //根据条件保存修改的数据 $User->save($data);
以上がThinkPHP Where 条件の一般的な式の例の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。