ThinkPHP5.0 模型查詢操作
阿新 • • 發佈:2017-07-06
asc div code all 個數 關聯 開啟 val user
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 模型查詢操作