1.查詢多條數據 1.1靜態調用all方法或者select方法 1.2動態調用all方法或者select方法 註:all方法或者select方法返回的是一個包含模型對象的二維數組或者空數組select方法和All方法的應用:[obj, obj] 2.查詢一條數據 2.1靜態調用get方法或者find ...
1.查詢多條數據
1.1靜態調用all方法或者select方法
// 獲取所有數據 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方法
$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方法
//取出主鍵為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方法
$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方法的應用:
3.其他查詢方法
3.1where方法
$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’);