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);

Thinkphp5.0 的使用模型Model查询的更多相关文章

  1. Thinkphp5.0 的使用模型Model的获取器与修改器

    Thinkphp5.0 的使用模型Model的获取器.修改器.软删除 一.获取器 在model中使用 get+字段名+Attr,可以修改字段的返回值. 数据库中性别保存为,0未知.1男.2女,查询时返 ...

  2. Thinkphp5.0 的使用模型Model删除数据

    Thinkphp5.0 的使用模型Model删除数据 一.使用destory()删除数据 //删除id为3的记录 $res = User::destroy(3); //返回影响的行数 dump($re ...

  3. Thinkphp5.0 的使用模型Model更新数据

    Thinkphp5.0 的使用模型Model更新数据 (1)使用update()方法进行更新数据 一.where条件写在更新数据中 (这种情况更新的数据,必须含主键) $res = User::upd ...

  4. Thinkphp5.0 的使用模型Model添加数据

    Thinkphp5.0 的使用模型Model添加数据 使用create()方法添加数据 $res = TestUser::create([ 'name' => 'zhao liu', 'pass ...

  5. Thinkphp5.0 的Model模型

    Thinkphp5.0 的Model模型 新建user模型User.php: <?php namespace app\index\model; use think\Model; class Us ...

  6. ThinkPHP5.0框架开发--第8章 TP5.0 模型

    ThinkPHP5.0框架开发--第8章 TP5.0 模型 第8章 TP5.0 模型 ================================================= 今日学习 1. ...

  7. ThinkPHP5——模型(model)的使用

    在使用ThinkPHP5的过程中,我经常使用db进行数据库操作的,后来接触到了模型(model),刚使用时感觉跟db没啥区别,后来查官网知道模型基类中还提供了较多的其他的方法可以方便使用例如获取器.修 ...

  8. 对thinkphp5.0框架的实例学习

    不论是渗透测试还是代码审计的过程中会碰到用不同的框架搭建起来的网站,熟悉这些框架的基本原理,会帮助我们快速的理解漏洞原理,提高干活效率,所以自己本地搭了个php环境,来入门实例学习下thinkphp5 ...

  9. thinkphp5.0和thinkphp3.2的区别不同之处

    先看目录结构: thinkphp 5.0的目录结构, 文档:https://www.kancloud.cn/manual/thinkphp5/118008 project 应用部署目录 ├─appli ...

随机推荐

  1. joomla建站-双语CMS系统开发的实现

    首先,请确保你的网站安装了你所需的双语语言,详细安装过程见:https://www.cnblogs.com/surfer/p/9619345.html 第一步:设置内容管理 可以按照个人需求进行语言编 ...

  2. Apache Tomcat 之路(三 部署多个应用)

    想要在一台服务器上部署多个web应用的时候有两种部署方式:1.拷贝多个tomcat 服务器,每个服务器启动不同的web应用;2.一个tomcat容器部署多个web应用 两种方式的优缺点:多个tomca ...

  3. linux下安装mysql5.7.21

    下载 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.21-linux-glibc2.12-x86_64.tar.gz 解压 ...

  4. 1.了解Objective-C语言

    了解Objective-C语言 ** Objective-C 语言是"消息结构"(messaging structure) 类似C++ .Java 是"函数调用" ...

  5. MYSQL 查询方法 统计查询 链接查询 子查询

    mysql表格查询方法: 查询: 1.简单查询 select * from Info --查所有数据select Code,Name from Info --查指定列的数据select Code as ...

  6. Java MVC框架性能比较

    Java MVC框架性能比较 - by zvane 现在各种MVC框架很多,各框架的优缺点网络上也有很多的参考文章,但介绍各框架性能方面差别的文章却不多,本人在项目开发中,感觉到采用了struts2框 ...

  7. WebAPI中Area的使用

    很简单,创建area后,添加一下代码到AreaRegistration中即可 context.Routes.MapHttpRoute( name: "api_default", r ...

  8. 从Code::Blocks到Dev–C++,Dev-C++安装调试一条龙

    关于单文件调试 Codeblocks只支持单文件编译,不支持单文件调试,只有整个工程才能调试,还有路径名里不能有中文和空格,很坑的!就因为这个弃用了. 去你的吧! 老子用别的了 谁支持单文件编译和调试 ...

  9. ZooKeeper系列(四)

    一.配置服务 配置服务是分布式应用所需要的基本服务之一,它使集群中的机器可以共享配置信息中那些公共的部分.简单地说,ZooKeeper可以作为一个具有高可用性的配置存储器,允许分布式应用的参与者检索和 ...

  10. Ryubook_1_switch_hub_部署执行

    一.环境: mininet.ovs.Ryu. 二.实验过程: 1.搭建拓扑: 执行sudo mn --topo single,3 --mac --switch ovsk --controller re ...