ThinkPHP中框架查询
1.查询多条数据
1.1静态调用all方法或者select方法
// 获取所有数据 all 和 select
$list = User::all();
// 根据主键获取多个数据all 和 select where id in (1,2,3)
$list = User::all('1,2,3');
$list = User::all([1,2,3]);
//或者使用数组查询(只能用all不能用select) where status = 1
$list = User::all(['status'=>1]);
1.2动态调用all方法或者select方法
$user = new User();
//查询所有数据all 和 select
$list = $user->select();
//根据主键查询多条数据all 和 select
$list = $user->select('1,2,3');
$list = $user->select([1,2,3]);
//或者使用数组查询(只能用all不能用select)
$list = $user->all(['status'=>1]);
注:all方法或者select方法返回的是一个包含模型对象的二维数组或者空数组select方法和All方法的应用:[obj, obj]
2.查询一条数据
2.1静态调用get方法或者find方法
//取出主键为1的数据 where id = 1 $user = \app\admin\model\User::get(1); $user = \app\admin\model\User::find(1); //使用数组查询(非主键字段),只能用get不能用find where name = 'thinkphp' $user = User::get(['name' => 'thinkphp']); //取出第一条数据,只能用find不能用get $user = User::find();
2.2动态调用get方法或者find方法
$user = new User(); //取出主键为1的数据 $info = $user->find(1); $info = $user->get(1); //使用数组查询(非主键字段),只能用get不能用find $info = $user->get(['name' => 'thinkphp']); //取出第一条数据,只能用find不能用get $info = $user->find();
注:get或者find方法返回的是当前模型的对象实例或者null返回的模型对象,可以直接当做数组使用,也可以调用toArray() 直接转化为数组。find方法和Get方法的应用:
3.其他查询方法
3.1where方法
$info = User::where('id','=','1')->find();
$info = User::where('id','1')->find();
$info = User::where('name','like','%thinkphp%')->select();
3.2链式操作
$model = new Address();
$model->field('id
name')->select(); //指定要查询的字段,原生sql中select后面的字段
$model->order('id desc,time desc')->select(); //相当于原生sql中的order by
$model->limit(3)->select(); //相当于原生sql中的limit条件
$model->limit(0,3)->select();
$model->limit('0,3')->select();
$model->group('cate_id')->select(); //相当于原生sql中的group by
$model->having('id>3')->select(); //相当于原生sql中的having条件
$model->alias('a')->join('think_user_type t','a.id=t.user_id', 'left')->select(); //alias方法设置别名,join方法连表查询
3.3聚合查询
在模型中也可以调用数据库的聚合方法进行查询
3.4数据字段查询
查询一条记录的一个字段的值
Goods::where(‘id’, 2)->value(‘goods_name’);
查询多条记录的一个字段的值,返回一个一维索引数组
Goods::where(‘id’, ‘GT’, 2)->column(‘goods_name’);
查询多条记录的一个字段的值,以id字段值作为数组索引
Goods::where(‘id’, ‘GT’, 2)->column(‘goods_name’, ‘id’);
ThinkPHP中框架查询的更多相关文章
- THINKPHP 中关联查询(多表查询)
THINKPHP 中关联查询(多表查询)可以使用 table() 方法或和join方法,请看示例: 1.Table方法:定义要操作的数据表名称,可以动态改变当前操作的数据表名称,需要写数据表的全名,包 ...
- thinkphp中的查询语句
<?php namespace Admin\Controller; use Think\Controller; class MainController extends Controller { ...
- ThinkPHP(3)SQL查询语句
ThinkPHP中对查询语句,包含了基本的查询方式.表达方式.快速查询.区间查询.组合查询.SQL查询.动态查询和子查询. 一.查询方式 ThinkPHP提供了三种基本的查询方式:字符串条件查询.索引 ...
- ThinkPHP中 按条件查询后列表显示
最近在项目中遇到了需要根据下拉框的条件筛选出符合条件的数据,然后进行列表显示的问题. 在ThinkPHP中进行列表显示的传统过程:通过在后台控制器中查询出数据,然后通过$this->assign ...
- Thinkphp中查询复杂sql查询表达式,如何表达MYSQL中的某字段不为空is not null?
Thinkphp中查询复杂sql查询表达式,如何表达MYSQL中的某字段不为空is not null?先上两种实现方式的实例:$querys["house_type_image"] ...
- thinkphp中如何是实现多表查询
多表查询经常使用到,但如何在thinkphp中实现多表查询呢,其实有三种方法. 1 2 3 4 5 6 7 8 9 10 11 12 // 1.原生查询示例: $Model = new Model() ...
- TP框架中field查询字段
TP框架中field查询字段 不是fields 也不是files !!!! 不是fields 也不是files !!!! 不是fields 也不是files !!!! 不是fields 也不是file ...
- TP框架中模糊查询实现
TP框架中模糊查询实现 $where['g.name'] = array('like','%'.$groupname.'%'); 表达式查询 上面的查询条件仅仅是一个简单的相等判断,可以使用查询表达式 ...
- TP框架---thinkphp中ajax分页
//点击类别后要显示的内容 public function pagechuli3()//这个方法的功能是根据ajax传过来的值查询数据,再将查询出来的数据返回到ajax,返回的默认是JSON类型. { ...
随机推荐
- 2016/10/21 java中的参数传方式
参考:http://blog.sina.com.cn/s/blog_59ca2c2a0100qhjx.html http://www.cnblogs.com/caiyao/p/4964176.html
- 【CHRIS RICHARDSON 微服务系列】事件驱动的数据管理-5
编者的话 |本文来自 Nginx 官方博客,是「Chris Richardson 微服务」系列的第五篇文章.第一篇文章介绍了微服务架构模式,并且讨论了使用微服务的优缺点:第二和第三篇描述了微服务架构模 ...
- scrapy框架(二)
scrapy框架(二) 一.scrapy 选择器 概述: Scrapy提供基于lxml库的解析机制,它们被称为选择器. 因为,它们“选择”由XPath或CSS表达式指定的HTML文档的某部分. Sca ...
- POJ2182题解——线段树
POJ2182题解——线段树 2019-12-20 by juruoOIer 1.线段树简介(来源:百度百科) 线段树是一种二叉搜索树,与区间树相似,它将一个区间划分成一些单元区间,每个单元区间对应线 ...
- AI行业精选日报_人工智能(12·20)
IDC:中国智能家居市场2020年十大预测 12 月 20 日消息,「IDC 咨询」官方公众号发布「中国智能家居 2020 年十大预测」.具体内容如下:互联平台加速整合.语音助手广泛赋能.智能电视显著 ...
- Java-50个关键字
关键字 (50个,包含2个保留字)和特殊值(3个)一.基本数据类型相关关键字(8个) 1.关键字介绍(1)byte:单字节类型(2)short:短整型(3)int:整型(4)long:长整型(5)ch ...
- 《.Net 最佳实践》 - 学习笔记
<.Net 最佳实践> ========== ========== ==========[作者] (美) Stephen Ritchie[译者] (中) 黄灯桥 黄浩宇 李永[出版] 机械 ...
- linux 文件管理命令
一,文件查看more,less,head,tail,cat,tac 分屏查看文件内容 more:和man用法一样,但翻屏到尾部自动推出. less:和man用法一样. head:查看文件的前n行.n默 ...
- IPFS学习-分布式哈希表DHT
Distributed Hash Tables(DHT) 分布式哈希表是一个分布式的键值对存储结构.在IPFS网络中,每一个节点都维护一个DHT的子集.当节点接受到一个请求.该节点要么直接回复,要么通 ...
- Jenkins使用SSH构建Go项目并执行
目录 下载插件 配置要部署的服务器 构建项目 Jenkinx可以帮助我们通过SSH插件,将项目直接部署到指定的服务器. 下载插件 (1)点击左侧的"系统管理"菜单 ,然后点击 (2 ...