English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

thinkPHPの表現クエリの用法の詳細

この記事では、ThinkPHPの表現クエリの例を説明します。皆さんに参考にしていただくために、以下の通りです:

ThinkPHPの表現

ここで言う表現は、ThinkPHPフレームワーク独自の表現を指します。これらの表現は、クエリや更新、削除などの操作のWHERE条件およびテンプレートタグで使用されます。

Where条件では表現式を使用します

Where条件の表現式のフォーマットは:

$map['字段名']  = array('表达式', '操作条件');

その中で $map は一般的な配列変数であり、自分の必要に応じて名前を変更できます。上記のフォーマットの表現は実際の演算子の意味です:

ThinkPHP演算子とSQL演算子の対照表
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 not between and $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);
not in not in $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 二つの入力のうち一方が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条件だけでなく、データの更新にも使用できます、例えば:

$Dao = M("Article");
// saveのデータ配列を構築します、記事のクリック数+1
$data['aid'] = 10;
$data['counter'] = array('exp','counter+1);
// 条件に基づいてデータの修正を保存します
$User->save($data);

注:数字フィールドの加算や減算は、直接

ThinkPHPに関する詳細な内容に興味がある読者は、このサイトの特集を確認してください:《ThinkPHP 入門チュートリアル》、《ThinkPHP テンプレート操作の技術的ポイント》、《ThinkPHP 常用メソッドの要約》、《smarty テンプレートの基本チュートリアル》および《PHP テンプレート技術の要約》。

この記事で述べたことがThinkPHPフレームワークに基づくPHPプログラムのデザインに役立つことを願っています。

声明:この記事の内容はインターネットからネットワークに、著作権者が所有しています。ユーザーが自発的に提供し、アップロードした内容です。このサイトは所有権を持ちません。人間が編集していないため、法的責任を負いません。著作権に関する問題があれば、メールを送信してください:notice#oldtoolbag.com(メール送信時は、#を@に変更して報告してください。関連する証拠を提供してください。一旦確認がとりあえず、このサイトは侵害疑いのコンテンツをすぐに削除します。)

おすすめ