1.查詢多條數據php
1.1靜態調用all方法或者select方法sql
// 獲取全部數據 all 和 select $list = User::all(); // 根據主鍵獲取多個數據all 和 select where id in (1,2,3) $list = User::all('1,2,3'); $list = User::all([1,2,3]); //或者使用數組查詢(只能用all不能用select) where status = 1 $list = User::all(['status'=>1]);
1.2動態調用all方法或者select方法thinkphp
$user = new User(); //查詢全部數據all 和 select $list = $user->select(); //根據主鍵查詢多條數據all 和 select $list = $user->select('1,2,3'); $list = $user->select([1,2,3]); //或者使用數組查詢(只能用all不能用select) $list = $user->all(['status'=>1]);
select方法和All方法的應用:[obj, obj]數據庫
2.查詢一條數據數組
2.1靜態調用get方法或者find方法app
//取出主鍵爲1的數據 where id = 1 $user = \app\admin\model\User::get(1); $user = \app\admin\model\User::find(1); //使用數組查詢(非主鍵字段),只能用get不能用find where name = 'thinkphp' $user = User::get(['name' => 'thinkphp']); //取出第一條數據,只能用find不能用get $user = User::find();
2.2動態調用get方法或者find方法spa
$user = new User(); //取出主鍵爲1的數據 $info = $user->find(1); $info = $user->get(1); //使用數組查詢(非主鍵字段),只能用get不能用find $info = $user->get(['name' => 'thinkphp']); //取出第一條數據,只能用find不能用get $info = $user->find();
注:返回的模型對象,能夠直接當作數組使用,也能夠調用toArray() 直接轉化爲數組。find方法和Get方法的應用:code
3.其餘查詢方法對象
3.1where方法blog
$info = User::where('id','=','1')->find(); $info = User::where('id','1')->find(); $info = User::where('name','like','%thinkphp%')->select();
3.2鏈式操做
$model = new Address(); $model->field('id name')->select(); //指定要查詢的字段,原生sql中select後面的字段 $model->order('id desc,time desc')->select(); //至關於原生sql中的order by $model->limit(3)->select(); //至關於原生sql中的limit條件 $model->limit(0,3)->select(); $model->limit('0,3')->select(); $model->group('cate_id')->select(); //至關於原生sql中的group by $model->having('id>3')->select(); //至關於原生sql中的having條件 $model->alias('a')->join('think_user_type t','a.id=t.user_id', 'left')->select(); //alias方法設置別名,join方法連表查詢
3.3聚合查詢
在模型中也能夠調用數據庫的聚合方法進行查詢
3.4數據字段查詢
查詢一條記錄的一個字段的值 Goods::where(‘id’, 2)->value(‘goods_name’); 查詢多條記錄的一個字段的值,返回一個一維索引數組 Goods::where(‘id’, ‘GT’, 2)->column(‘goods_name’); 查詢多條記錄的一個字段的值,以id字段值做爲數組索引 Goods::where(‘id’, ‘GT’, 2)->column(‘goods_name’, ‘id’);