Heim >PHP-Framework >Denken Sie an PHP >Ausführliche Erläuterung der wichtigsten Methoden von thinkphp zur Methode where()

Ausführliche Erläuterung der wichtigsten Methoden von thinkphp zur Methode where()

藏色散人
藏色散人nach vorne
2021-12-09 16:43:013787Durchsuche

Die Verwendung der

where-Methode ist die Essenz der ThinkPHPAbfragesprache und stellt auch einen wichtigen Teil und ein Highlight von ThinkPHP ORM dar. Sie kann Abfragevorgänge ausführen, einschließlich gewöhnlicher Abfragen, Ausdrucksabfragen, Schnellabfragen, Intervallabfragen und kombinierter Abfragen. Die Parameter der where-Methode unterstützen Zeichenfolgen und Arrays. Obwohl auch Objekte verwendet werden können, wird dies nicht empfohlen.

String-Bedingung

$User = M("User"); // 实例化User对象$User->where('type=1 AND status=1')->select();

SELECT * FROM think_user WHERE type=1 AND status=1

Array-Bedingung

Normale Abfrage

$User = M("User"); 
// 实例化User对象
$map['name'] = 'thinkphp';
$map['status'] = 1; 
// 把查询条件传入查询方法
$User->where($map)->select();

SELECT * FROM think_user WHERE. `name`='thinkphp ' UND Die Die durch Status = 1 dargestellte Abfragebedingung

ist Die durch „id > 100

$map['字段1']  = array('表达式','查询条件1');
$map['字段2']  = array('表达式','查询条件2');
$Model->where($map)->select(); 
// 也支持
“ dargestellte Abfragebedingung ist „id >= 100“

[NOT] LIKE

: Dasselbe wie SQL LIKE
$map['id']  = array('eq',100);

Die Abfragebedingung wird zu einem Namen wie „thinkphp%“
$map['id']  = array('neq',100);

Die generierte Abfragebedingung ist: (ein „like“ „%thinkphp%“ ODER ein „like“. ' %tp') AND (b nicht wie '%thinkphp%' UND b nicht wie '%tp')

[NOT] BETWEEN

: Genau wie SQL's [not] between, Abfragebedingungen unterstützen beispielsweise Zeichenfolgen oder Arrays :
$map['id']  = array('gt',100);

$map['id']  = array('egt',100);

[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();

最后得到的查询条件就成了:( `id` != 1 ) AND ( `name` = 'ok' ) AND ( status=1 AND score>10 ) 

复合查询

$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,如需转载请自行联系原作者

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der wichtigsten Methoden von thinkphp zur Methode where(). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen