Thinkphp5.0 的使用模型Model查询


一、查询多条记录

获取多个数据可以使用:select()方法和all()方法。

示例一:使用all()方法。

        //(1)筛选条件使用闭包函数
$res = User::all(function($query){
$query->where('id','>',0)->field('id,name,email');
});
foreach($res as $val){
dump($val->toArray());
} //(2)筛选条件使用where()方法
$res = User::where('id','>',0)->field('id,name,email')->all();
//致命错误: Call to undefined method app\index\controller\User::all()

示例二:使用select()方法。

        //(1)筛选条件使用where()
$res = User::where('id','>',0)->field('id,name,email')->select();
foreach($res as $val){
dump($val->toArray());
} //(2)筛选条件使用闭包函数
$res = User::select(function($query){
$query->where('id','>',0)->field('id,name,email');
});
foreach($res as $val){
dump($val->toArray());
}

1、注意结果格式:
外层是数组,里层包含多个查询出来的对象
不能直接使用toArray(),需要遍历

2、使用all()方法时,不能使用where等方法。


二、查询一条记录

获取多个数据可以使用:find()方法和get()方法。

示例一:使用find()方法。

        //(1)筛选条件使用闭包函数
$res = User::find(function($query){
$query->where('name','=','zhang san');
});
dump($res->toArray()); //(2)筛选条件使用where
$res = User::where('name','=','zhang san')->find();
dump($res->toArray());

示例二:使用get()方法。

        //(1)筛选条件使用闭包函数
$res = User::get(function($query){
$query->where('name','=','zhang san');
});
dump($res->toArray()); //(2)错误方式:筛选条件使用where()方法,
$res = User::where('name','=','zhang san')->get();
dump($res->toArray());
//报错:method not exist:think\db\Query->get
//get()方式只能使用闭包形式。

三、查询一个字段

使用value()方法

$email = User::where('name','=','zhang san')->value('email');
dump($email);

四、查询列数据

使用column()方法:

        //获取name字段这一列
$res = User::where('id','>',0)->column('name');
dump($res); //获取name字段这一列,并且以id字段作为索引
$res = User::where('id','>',0)->column('id,name');
dump($res); //获取name字段这一列,并且以id字段作为索引
$res = User::where('id','>',0)->column('name','id');
dump($res); //获取id,name,email字段这三列,并且以id字段作为索引
$res = User::where('id','>',0)->column('name,email','id');
dump($res);

最新文章

  1. ATS
  2. [问题2014S09] 解答
  3. [React Testing] The Redux Store - Multiple Actions
  4. Java多线程练习
  5. C语言中,隐藏结构体的细节
  6. chrome开发工具指南(一)
  7. Node 环境变量 process.env.NODE_ENV 之webpack应用
  8. appium安装问题集锦
  9. java 文档
  10. linux内核驱动中对字符串的操作【转】
  11. Weex与Android交互(二)
  12. hyperledger
  13. C# ashx接收ContentType="text/xml"类型值
  14. 从一个流中读数据--fread
  15. Floodlight下发流表过程分析
  16. elixir 集成ejabberd
  17. 针对ie的css hack
  18. JavaScript:直接写入 HTML 输出流
  19. C++ regex
  20. 【POJ-2524】Ubiquitous Religions(并查集)

热门文章

  1. Hadoop YARN学习之监控集群监控Nagios(4)
  2. WIN7 x64下java 8的环境变量配置
  3. [Windows Server 2008] 阿里云.云主机忘记密码解决方法
  4. 说说windows10自带浏览器Edge的好与不好
  5. python的unitest的简单使用
  6. Oracle反向字符截取逗號分隔字符串
  7. 火狐加载用户配置文件 "C:\XXX\Mozilla Firefox\firefox.exe" http://192.168.1.1:8080 -profile ../kkk
  8. ARP是如何工作的?
  9. C#readonly 关键字与 const 关键字的区别
  10. 雷林鹏分享:PHP Secure E-mails