- find() 方法,通过主键(id)查询数据,如果不存在返回Null
$user = UserModel::find(129);return json($user);
- where() 方法进行条件筛选查询数据
$user = UserModel::where('name','李白')->find();
- findOrEmpty() 方法,数据不存在返回空模型,然后可以使用 isEmpty() 方法判断,是否为空模型
$user = UserModel::findOrEmpty(3);if($uer->isEmpty()){echo '空模型';}
- 使用 select([]),查询多条指定id 字段,不指定就是所有字段
$user = UserModel::select([19,20,21]);foreach($user as $key => $obj){echo $obj->name;}
- 模型方法也可以使用 where 等连缀查询,和数据查询方式一样
$user = UserModel::where('code',1)->limit(5)->order('id','desc')->select();
- 获取某个字段 value() 或者某个列column()的值
UserModel::where('id','13')->value('name');UserModel::where('id','in',[13,15,16])->column(['user','id']);
- 模型支持动态查询:getBy*,*表示字段名
UserModel::getByname('李白');
- 模型支持聚合查询:max,min,sum,count,avg 等
- chunk() 方法可以分批处理数据,防止一次性开销过大
UserModel::chunk(5,function($user){ foreach($user as $user){echo $user->uesrname;}echo '<br>-----</br>';})
- 游标查询功能,可以大幅度减少海量数据的内存开销,它利用了 PHP 生成器特性。每次查询只读一行,然后再读取时,自动定位到下一行继续读取
foreach(UserModel::where('status',1)->cursor() as $user){echo $user->name;echo '<br>------</br>';}