ThinkPHP中常用的查詢語言

不言
發布: 2023-03-30 16:34:01
原創
1346 人瀏覽過

這篇文章主要介紹了ThinkPHP中的常用查詢語言匯總,是ThinkPHP中常用的技巧,在專案開發中非常有實用價值,需要的朋友可以參考下

本文實例匯總了ThinkPHP中常用的查詢語言,供大家參考之用。相信能為大家ThinkPHP開發帶來一定的幫助。具體如下:

一、普通查詢:

在查詢帶入where條件等,最少有三種形式

1、字符字串形式:

&#39;id>5 and id<9&#39;
登入後複製

#2、陣列形式:

範例程式碼如下:

$user=M(&#39;user&#39;);
$data[&#39;username&#39;]=&#39;liwenkai&#39;;
$list=$user->where(array(&#39;username&#39;=>&#39;liwenkai&#39;))->select();
$list=$user->where($data)->select();
登入後複製

3、物件形式:

#範例程式碼如下:

##

$user=M(&#39;user&#39;);
$a=new stdClass();
$a->username=&#39;liwenkai&#39;;
$list=$user->where($a)->select();
登入後複製

4、查詢表達式:##EQ             等於

NEQ                    大於等於

LT             且則為使用小於
ELT             小於等於
#LIKE            以等價位與sql中的like
[NOT] BETWEEN # 集合區間等價位與sql中的like
[NOT] BETWEEN # 集合區間。        指使用標準SQL語句,以達到更複雜的情況

常用形式:


$data[&#39;字段名&#39;]=array(&#39;是表达式&#39;,&#39;查询条件&#39;);
登入後複製

此外

#

$data[&#39;liwenkai&#39;]=&#39;liwenkai&#39;;
登入後複製

實際上等價於

$data[&#39;liwenkai&#39;]=array(&#39;eq&#39;,&#39;liwenkai&#39;);
登入後複製

範例如下:

#

$data[&#39;username&#39;]=array(&#39;like&#39;,&#39;peng%&#39;);
$list=$user->where($data)->select();
登入後複製

二、區間查詢:

範例如下:

$user=M(&#39;user&#39;);
$data[&#39;id&#39;]=array(array(&#39;gt&#39;,20),array(&#39;lt&#39;,23),&#39;and&#39;);
$list=$user->where($data)->select();
dump($list);
登入後複製

#

$data[&#39;username&#39;]=array(array(&#39;like&#39;,&#39;p%&#39;),array(&#39;like&#39;,&#39;h%&#39;),&#39;or&#39;);
登入後複製

##三、組合查詢:

範例如下:

$user=M(&#39;user&#39;);
$data[&#39;username&#39;]=&#39;pengyanjie&#39;;
$data[&#39;password&#39;]=array(&#39;eq&#39;,&#39;pengyanjie&#39;);
$data[&#39;id&#39;]=array(&#39;lt&#39;,30);
$data[&#39;_logic&#39;]=&#39;or&#39;;
$list=$user->where($data)->select();
dump($list);
登入後複製

#四、複合查詢:

範例如下:

$user=M(&#39;user&#39;);
$data[&#39;username&#39;]=array(&#39;eq&#39;,&#39;pengyanjie&#39;);
$data[&#39;password&#39;]=array(&#39;like&#39;,&#39;p%&#39;);
$data[&#39;_logic&#39;]=&#39;or&#39;;
$where[&#39;_complex&#39;]=$where;
$where[&#39;id&#39;]=array(&#39;lt&#39;,30);
$list=$user->where($data)->select();
dump($list);
登入後複製

相當於

#
(id<30)and ( (username=pengyanjie) or (password like p%) )
登入後複製

五、統計查詢:

範例如下:

echo $user->count();
echo &#39;<br>&#39;;
echo $user->max(&#39;id&#39;);
echo &#39;<br>&#39;;
echo $user->where(&#39;id<30&#39;)->min(&#39;id&#39;);
echo &#39;<br>&#39;;
echo $user->avg(&#39;id&#39;);
echo &#39;<br>&#39;;
echo $user->sum(&#39;id&#39;);
登入後複製

#六、定位查詢:

範例如下:

$user=new AdvModel(&#39;user&#39;);//实例化高级模型AdvModel
//$user=M(&#39;user&#39;,&#39;CommonModel&#39;);//或者将AdvModel用CommonModel来继承
$list=$user->order(&#39;id desc&#39;)->getN(2);//返回结果中的第三条
dump($list);

$list=$user->order(&#39;id desc&#39;)->last();//返回最后一条
$list=$user->order(&#39;id desc&#39;)->first();//返回第一条
登入後複製

七、SQL查詢:

1.excute()主要用於更新和寫入:

$Model = new Model() // 实例化一个 model 对象  没有对应任何数据表
$Model->execute( "update think_user set name=&#39;thinkPHP&#39; where status=1" );
登入後複製

2.query()主要用於查詢:

$user=M();
$list=$user->query(&#39;select * from aoli_user order by id desc&#39;);
dump($list);
登入後複製

#八、動態查詢

範例如下:

$user=M(&#39;user&#39;);
$list=$user->getByusername(&#39;pengyanjie&#39;);
$list=$user->getByusername(&#39;pengyanjie&#39;);
dump($list);
登入後複製

$user=new AdvModel(&#39;user&#39;);
$list=$user->top5();//前5条
dump($list);
登入後複製

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP中文網!

相關推薦:

thinkPHP框架中如何執行原生SQL語句

ThinkPHP實作轉換資料庫查詢結果資料到對應類型


以上是ThinkPHP中常用的查詢語言的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!