Rumah > rangka kerja php > ThinkPHP > kaedah utama thinkphp penjelasan terperinci tentang kaedah where().

kaedah utama thinkphp penjelasan terperinci tentang kaedah where().

藏色散人
Lepaskan: 2021-12-09 16:50:54
ke hadapan
3793 orang telah melayarinya

Penggunaan

di mana kaedah adalah intipati ThinkPHP bahasa pertanyaan dan bahagian penting dan sorotan ThinkPHP ORM Ia boleh menyelesaikan pertanyaan biasa, pertanyaan ungkapan, pertanyaan pantas, pertanyaan selang dan pertanyaan gabungan operasi dalam. Parameter kaedah where menyokong rentetan dan tatasusunan Walaupun objek juga boleh digunakan, ia tidak disyorkan.

Keadaan rentetan

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

PILIH * DARI think_user WHERE type=1 DAN status=1

Keadaan tatasusunan

Pertanyaan biasa

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

PILIH * DARI think_user DI MANA `name`='thinkphp' DAN status=1

Pertanyaan ungkapan

$map['字段1']  = array('表达式','查询条件1');
$map['字段2']  = array('表达式','查询条件2');
$Model->where($map)->select(); 
// 也支持
Salin selepas log masuk
$map['id']  = array('eq',100);
Salin selepas log masuk

mewakili id ​​syarat pertanyaan = 100

$map['id']  = array('neq',100);
Salin selepas log masuk

mewakili keadaan pertanyaan Keadaan pertanyaan diwakili oleh id <> 100

$map['id']  = array('gt',100);
Salin selepas log masuk

ialah syarat pertanyaan yang diwakili oleh id > = 100

$map['id']  = array('egt',100);
Salin selepas log masuk

mewakili keadaan pertanyaan ialah id <= 100

$map[&#39;id&#39;]  = array(&#39;lt&#39;,100);
Salin selepas log masuk
[NOT] LIKE
: Sama seperti SQL LIKE

$map[&#39;id&#39;]  = array(&#39;elt&#39;,100);
Salin selepas log masuk
keadaan pertanyaan menjadi nama seperti 'thinkphp% '

Syarat pertanyaan yang dijana ialah: (seperti '%thinkphp%' ATAU seperti '%tp') DAN (b tidak seperti '%thinkphp%' DAN b tidak seperti '% tp')

$map[&#39;name&#39;] = array(&#39;like&#39;,&#39;thinkphp%&#39;);
Salin selepas log masuk
[BUKAN] ANTARA
: Sama seperti SQL [bukan] antara, syarat pertanyaan menyokong rentetan atau tatasusunan, contohnya:

$map[&#39;a&#39;] =array(&#39;like&#39;,array(&#39;%thinkphp%&#39;,&#39;%tp&#39;),&#39;OR&#39;);
$map[&#39;b&#39;] =array(&#39;notlike&#39;,array(&#39;%thinkphp%&#39;,&#39;%tp&#39;),&#39;AND&#39;);
Salin selepas log masuk

[NOT] IN: 同sql的[not] in ,查询条件支持字符串或者数组,例如:

$map[&#39;id&#39;]  = array(&#39;not in&#39;,&#39;1,5,8&#39;);
Salin selepas log masuk
$map[&#39;id&#39;]  = array(&#39;not in&#39;,array(&#39;1&#39;,&#39;5&#39;,&#39;8&#39;));
Salin selepas log masuk

EXP:表达式,支持更复杂的查询情况

$map[&#39;id&#39;]  = array(&#39;exp&#39;,&#39; IN (1,3,8) &#39;);
Salin selepas log masuk

等同于

$map[&#39;id&#39;]  = array(&#39;in&#39;,&#39;1,3,8&#39;);
Salin selepas log masuk

组合查询

$User = M("User"); // 实例化User对象
$map[&#39;id&#39;] = array(&#39;neq&#39;,1);$map[&#39;name&#39;] = &#39;ok&#39;;
$map[&#39;_string&#39;] = &#39;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);
Salin selepas log masuk

等同于

$where['id'] = array('gt',1);
$where['_string'] = ' (name like "%thinkphp%")  OR ( title like "%thinkphp") ';
Salin selepas log masuk

查询条件是 
( id > 1) AND ( ( name like '%thinkphp%') OR ( title like '%thinkphp%') )

等等这些都是常用的where查询方法。

本文转自TBHacker博客园博客,原文链接:http://www.cnblogs.com/jiqing9006/p/4994302.html,如需转载请自行联系原作者

Atas ialah kandungan terperinci kaedah utama thinkphp penjelasan terperinci tentang kaedah where().. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:cnblogs.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan