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