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('thinkphp@qq.com');
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);
http://520fyl.cnblogs.com/

