標籤:limit find list style core thinkphp5 動態 cti 資料
1、擷取單個資料
//取出主鍵為1的資料$user = User::get(1);echo $user->name;// 使用數組查詢$user = User::get([‘name‘ => ‘thinkphp‘]);// 使用閉包查詢$user = User::get(function($query){ $query->where(‘name‘, ‘thinkphp‘);});echo $user->name;//執行個體化模型後調用查詢$user = new User();// 查詢單個資料$user->where(‘name‘, ‘thinkphp‘)->find();
2、擷取多個資料
// 根據主鍵擷取多個資料$list = User::all(‘1,2,3‘);// 或者使用數組$list = User::all([1,2,3]);foreach($list as $key=>$user){ echo $user->name;}// 使用數組查詢$list = User::all([‘status‘=>1]);// 使用閉包查詢$list = User::all(function($query){ $query->where(‘status‘, 1)->limit(3)->order(‘id‘, ‘asc‘);});foreach($list as $key=>$user){ echo $user->name;}//執行個體化模型後調用查詢$user = new User();// 查詢資料集$user->where(‘name‘, ‘thinkphp‘)->limit(10)->order(‘id‘, ‘desc‘) ->select();
3、擷取某個欄位或者某個列的值
// 擷取某個使用者的積分User::where(‘id‘,10)->value(‘score‘);// 擷取某個列的所有值User::where(‘status‘,1)->column(‘name‘);// 以id為索引User::where(‘status‘,1)->column(‘name‘,‘id‘);
4、動態查詢
// 根據name欄位查詢使用者$user = User::getByName(‘thinkphp‘);// 根據email欄位查詢使用者$user = User::getByEmail(‘[email protected]‘);
5、通過Query類查詢
User::where(‘id‘,‘>‘,10)->select();User::where(‘name‘,‘thinkphp‘)->find();
6、資料分批處理
User::chunk(100,function($users){ foreach($users as $user){ // 處理user模型對象 }});
7、查詢快取(get方法和all方法的第三個參數表示是否使用查詢快取,或者設定緩衝標識
//由於第二個參數是關聯預載入定義,V5.0.6+版本開始,可以直接在第二個參數傳入true表示開啟查詢快取。$user = User::get(1,‘‘,true);$list = User::all(‘1,2,3‘,‘‘,true);
)
ThinkPHP5.0 模型查詢操作