L'utilisation de la méthode
where est l'essence même du langage de requête ThinkPHP, et constitue également 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 The condition de requête représentée par status=1
$map['字段1'] = array('表达式','查询条件1'); $map['字段2'] = array('表达式','查询条件2'); $Model->where($map)->select(); // 也支持
$map['id'] = array('eq',100);
est id = 100
$map['id'] = array('neq',100);
La condition de requête représentée est id <> La condition de requête représentée par id > 100
$map['id'] = array('gt',100);
est id >= 100
$map['id'] = array('egt',100);
La condition de requête représentée est id <
: Identique à SQL LIKE
$map['id'] = array('lt',100);
La condition de requête devient un nom comme 'thinkphp%'
$map['id'] = array('elt',100);
: identique à [not] between de SQL, les conditions de requête prennent en charge les chaînes ou les tableaux, par exemple :
$map['name'] = array('like','thinkphp%');
$map['a'] =array('like',array('%thinkphp%','%tp'),'OR'); $map['b'] =array('notlike',array('%thinkphp%','%tp'),'AND');
[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> </div> <p>最后得到的查询条件就成了:( `id` != 1 ) AND ( `name` = 'ok' ) AND ( status=1 AND score>10 ) </p> <p><strong style="margin:0px;padding:0px;">复合查询</strong></p> <div class="cnblogs_code" style="margin:5px 0px;padding:5px;background-color:rgb(245,245,245);border:1px solid rgb(204,204,204);overflow:auto;font-size:13px;font-family:'Courier New';"><pre 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查询方法。
本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/4994302.html,如需转载请自行联系原作者
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!