Maison > Article > développement back-end > Explication de l'application de la méthode Where
L'utilisation de la méthode Where est l'essence du langage de requête ThinkPHP et une partie importante et un point fort de ThinkPHP ORM. Elle peut effectuer des opérations de requête, notamment une requête ordinaire, une requête d'expression, une requête rapide, une requête par intervalle et une requête combinée. Les paramètres de la méthode Where prennent en charge les chaînes et les tableaux. Bien que les objets puissent également être utilisés, cela n'est pas recommandé.
$User = M("User"); // 实例化User对象$User->where('type=1 AND status=1')->select();
SELECT * FROM think_user WHERE type=1 AND status=1
$User = M("User"); // 实例化User对象$map['name'] = 'thinkphp';$map['status'] = 1; // 把查询条件传入查询方法$User->where($map)->select();
SELECT * FROM think_user WHERE `name`='thinkphp' AND status=1
$map['字段1'] = array('表达式','查询条件1');$map['字段2'] = array('表达式','查询条件2');$Model->where($map)->select(); // 也支持
$map['id'] = array('eq',100);
représente la condition de requête est id = 100 La requête condition représentée par
$map['id'] = array('neq',100);
est la requête représentée par l'identifiant <> 100
$map['id'] = array('gt',100);
est la requête représentée par l'identifiant > La condition est id >= 100
$map['id'] = array('egt',100);
. La condition de requête représentée est id < 100
$map['id'] = array('lt',100);
.
$map['id'] = array('elt',100);[NOT] LIKE
: identique à la condition de requête LIKE
de SQL qui devient un nom comme 'thinkphp%'
$map['name'] = array('like','thinkphp%');La requête générée. la condition est : (un comme '%thinkphp%' OU un comme '%tp') ET (b pas comme '%thinkphp%' ET b pas comme '%tp')
$map['a'] =array('like',array('%thinkphp%','%tp'),'OR');$map['b'] =array('notlike',array('%thinkphp%','%tp'),'AND');[NON] BETWEEN
: identique à [not] between de SQL, les conditions de requête prennent en charge les chaînes ou les tableaux, par exemple :
$map['id'] = array('between','1,8');
$map['id'] = array('between',array('1','8'));
[NOT] IN: 同sql的[not] in ,查询条件支持字符串或者数组,例如:
$map['id'] = array('not in','1,5,8');
$map['id'] = array('not in',array('1','5','8'));
EXP:表达式,支持更复杂的查询情况
$map['id'] = array('exp',' IN (1,3,8) ');
等同于
$map['id'] = array('in','1,3,8');
$User = M("User"); // 实例化User对象$map['id'] = array('neq',1);$map['name'] = 'ok';$map['_string'] = 'status=1 AND score>10';$User->where($map)->select();</p> <p style="margin: 10px auto; padding-top: 0px; padding-bottom: 0px; line-height: 19.5px; font-size: 13px; font-family: Verdana, Arial, Helvetica, sans-serif; background-color: rgb(254, 254, 242); text-align: left;">最后得到的查询条件就成了:( `id` != 1 ) AND ( `name` = 'ok' ) AND ( status=1 AND score>10 )</p> <p style="margin: 10px auto; padding-top: 0px; padding-bottom: 0px; line-height: 19.5px; font-size: 13px; font-family: Verdana, Arial, Helvetica, sans-serif; background-color: rgb(254, 254, 242); text-align: left;"><span style="margin:0px;padding:0px;">复合查询</span></p> <pre style="margin-top:0px;margin-bottom:0px;padding:0px;white-space:pre-wrap;font-family:'Courier New' !important;" class="brush:php;toolbar:false;">$where['name'] = array('like', '%thinkphp%');$where['title'] = array('like','%thinkphp%');$where['_logic'] = 'or';$map['_complex'] = $where;$map['id'] = array('gt',1);
等同于
$where['id'] = array('gt',1);$where['_string'] = ' (name like "%thinkphp%") OR ( title like "%thinkphp") ';
查询条件是
( id > 1) AND ( ( name like '%thinkphp%') OR ( title like '%thinkphp%') )
本文讲解了where方法的应用更多相关内容请关注php中文网。
相关推荐:
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!