以下は、ThinkPHP の Where 条件で一般的に使用される式に関する記事です。内容がとても良かったので、参考としてシェアさせていただきます。
条件式の形式は次のとおりです:
$map['字段名'] = array('表达式', '操作条件');
$map は通常の配列変数であり、必要に応じて名前を付けることができます。上記形式の式は実際には operator の意味です:
TP Operator | SQL 演算子 | 例 | 実際のクエリ条件 |
---|---|---|---|
eq | = | $ map['id'] = array('eq',100); | 以下と同等: $map['id'] = 100; |
!= | $map['id'] = array('neq',100); | id != 100 | |
> | $map['id'] = array('gt',100); | id > 100 | |
>= | $map['id'] = array('egt',100); | id >= 100 | |
< | $map['id'] = array('lt',100); | id < 100 | |
<= | $map['id'] = array('elt', 100); | id <= 100 | |
like | $map<'ユーザー名'> = array ('like', 'Admin%'); | ユーザー名 (例: 'Admin%') | |
between と | $map['id '] = array('between','1,8'); | id BETWEEN 1 AND 8 | |
and between ではありません | $map['id'] = array('not between','1,8'); | id NOT BETWEEN 1 AND 8 | |
in | $map['id'] = array('in','1,5,8'); | id in(1, 5,8) | |
not in | $map['id'] = array('not in ','1, 5,8'); | id は (1,5,8) にありません | |
および | $map['id'] = array(array('gt',1),array('lt',10)); | (id > 1) AND (id < 10) | |
or | $map['id'] = array(array('gt',3),array ('lt',10) ), 'or'); | (id > 3) OR (id < 10) | ##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 条件だけでなく、次のようなデータ更新にも使用されます。以上がこの記事の全内容です。お読みいただきありがとうございます。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。
関連する推奨事項: thinkPHP にクラスを導入する方法
##ThinkPHP での where() の使用法の詳細な説明
以上がThinkPHP の Where 条件でよく使用される式の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。