-
#user::all()
// ? ? ? ?$res = User::all(function($query){
// ? ? ? ? ? ?$query->where("id","<","5")
// ? ? ? ? ? ? ? ?->field("id","username");
// ? ? ? ?});
? ? ? ? #column()第二個(gè)參數(shù)為新生成的數(shù)組的下標(biāo)
? ? ? ? $res = User::column("email","username");
?
// ? ? ? ?foreach($res as $val){
// ? ? ? ? ? ?dump($val->toArray());
// ? ? ? ?}
?
? ? ? ? //$res = $res->toArray();//將結(jié)果轉(zhuǎn)換成數(shù)組
? ? ? ? dump($res);
查看全部 -
使用模型查詢(xún)數(shù)據(jù);#通過(guò)get方式獲取數(shù)據(jù),括號(hào)內(nèi)可以為主鍵,也可以為閉包函數(shù)
// ? ? ? ?$res = User::get(function($query){
// ? ? ? ? ? ?$query->where("username","eq","wenco_3")
// ? ? ? ? ? ?->field("email");
// ? ? ? ?});
?
// ? ? ? ?$res = User::where("id","<=",15)
// ? ? ? ? ? ?->field("id,username")
// ? ? ? ? ? ?->limit(19)
// ? ? ? ? ? ?->order("id" ?,"DESC")
// ? ? ? ? ? ?->select();
查看全部 -
Model的使用方法
use app\模塊\model\模型類(lèi)名
1、$res = 模型類(lèi)名::get(1);
2、$user = new 模型類(lèi)名;
? ?$res = $user::get(1);
3、使用Loader
? ?use think\Loader;
? ?$user = Loader::model('模型類(lèi)名');
? ?$res = $user::get(1);
4、助手函數(shù)
? ?$user = model('模型類(lèi)名');
? ?$res = $user::get(1);
查看全部 -
model的命名規(guī)范:一般model的名字和表名是對(duì)應(yīng)的,例如 表名為imooc_user->模型名User.php 表名imooc_user_info->模型名UserInfo.php
一般一個(gè)表對(duì)應(yīng)一個(gè)model類(lèi),model類(lèi)里面是對(duì)這個(gè)表的增刪改查的各種操作查看全部 -
雖說(shuō)在控制器里也可以完成對(duì)數(shù)據(jù)庫(kù)的各種操作,但是不利于其他控制器重用;
把這些對(duì)數(shù)據(jù)庫(kù)的重復(fù)操作封裝到model,可以提高代碼的重用性;多個(gè)控制器調(diào)用同一個(gè)model類(lèi)即可查看全部 -
常用鏈?zhǔn)讲僮???
原理:Db類(lèi)的鏈?zhǔn)椒椒ǚ祷谼b對(duì)象,可以繼續(xù)使用Db對(duì)象的這些方法對(duì)查詢(xún)數(shù)據(jù)進(jìn)行一些條件構(gòu)造以及范圍的選擇和排序等等;
$res=$db
->where('id','>',5) 條件ID>5
->field('username','id') 只搜索username和id兩個(gè)字段
->order('id DESC') order排序 id DESC ? id倒序
->limit(3,7) limit截取 ?3,7 ? 從3開(kāi)始截取7個(gè)
->page(3,5) page(m,n)多用于分頁(yè)//limit分頁(yè)limit((m-1)*n,n)== m:當(dāng)前頁(yè)數(shù),n:每頁(yè)多少條數(shù)據(jù)
->group('`group`') //group是關(guān)鍵字,這里用``進(jìn)行轉(zhuǎn)義
->select(); select( ); ?搜索
var_dump($res);
注意:order對(duì)group是不起作用的;就是在執(zhí)行的group進(jìn)行分組的時(shí)候,并不是在你order排序的基礎(chǔ)上進(jìn)行的;
group('字段'),他會(huì)根據(jù)字段的值為分類(lèi)標(biāo)準(zhǔn)進(jìn)行分類(lèi),比如字段值為1的單獨(dú)查出來(lái),字段值為1的單獨(dú)查出來(lái);
查看全部 -
使用的時(shí)候,建議使用這種方式
where(
'username'
,
'eq'
,?
'wenco_1'
)
如果是多個(gè)and關(guān)系可以使用數(shù)組或者多個(gè)where方法
->where(
'id'
,
'exp'
?,
'not?in(1,2,3)'
)
????????????????
->whereOr(
'username'
,
'eq'
,?
'wenco_1'
)來(lái)構(gòu)造我們的where條件
查看全部 -
EXP,類(lèi)似于拼接的作用,在代碼編譯的時(shí)候把前后拼接起來(lái)
查看全部 -
多個(gè)where依然可以
查看全部 -
?
#where與whereOr?構(gòu)成
or
的關(guān)系
查看全部 -
?
#連續(xù)使用where方法構(gòu)成
and
?where條件
查看全部 -
數(shù)組的方式可以給 ? 值的數(shù)組的第一個(gè)參數(shù)設(shè)置條件結(jié)構(gòu) where(['id' => ['LT',5]])等同于where('id<5')
也可以同時(shí)有兩個(gè)查詢(xún)條件,看截圖查看全部 -
where(['id=>1'])等同于where('id',1)等同于where('id=1');
查看全部 -
where("id","between","1,5" ?或者 [1,10])包括1和5
傳遞第三個(gè)參數(shù)20,是無(wú)效的,看截圖;查看全部 -
圖片中的 備注;不區(qū)分大小寫(xiě);
查看全部
舉報(bào)