Thinkphp 数据操作指南-查询技巧
来源:互联网 发布:华为网络产品线怎么样 编辑:程序博客网 时间:2024/05/19 00:43
字段别名
可以在查询的字段里面使用别名,例如
以MySQL为例,我们可以使用
$User->where(’status=1′)
->field(’id,email,username as `name`’)
->limit(10)
->findAll();
可以生成下面的SQL语句
Select id,email,username as `name` from think_user limit 10 where 1
注意在mysql下面一定在自己添加`符 号,否则会自动添加`符号导致不正常。
使用JOIN
假如有二个表,第一个表为Comment表,第二个表为Reply表,现在做一个左连接,MYSQL上测试语句为:
select a.*,b.* from comment a left join reply b on a.id=b.cid
那么可以使用下面的方式来写查询
$Blog->table(’comment a’)
->join(’reply b on a.id=b.cid’)
->field(’a.*,b.*’)
->order(’id desc’)
->limit(’8′)
->findall();
$Blog->table(’comment a’)
->join(’reply b on a.id=b.cid’)
->field(’a.id,a.name,a.subject,b.category’)
->order(’id desc’)
->limit(’8′)
->findall();
如果有更多的JOIN表,还可以支持通过数组参数传入join方式
$Model->table(’table a’)
->join(array(’table1 b on b.id=a.cid’,'table2 c on c.id=b.uid’))
->findall();
或者使用连贯操作中的多个join方法
$Model->table(’table a’)
->join(’table1 b on b.id=a.cid’)
->join(’table2 c on c.id=b.uid’)
->findall();
需要注意的是数组的方法和原来的方式有差别,原来的数组第一个元素是JOIN的类型,现在类型统一放到字符串表达式里面了。如果没有指定JOIN类 型默认仍然是LEFT JOIN 如果需要使用其他的JOIN方式,可以使用下面的方式
$Model->table(’table a’)
->join(’table1 b on b.id=a.cid’)
->join(’right join table2 c on c.id=b.uid’)
->findall();
- Thinkphp 数据操作指南-查询技巧
- thinkPHP常用数据操作(二)查询语言
- thinkphp 查询技巧总结
- thinkphp查询select操作
- thinkPHP查询操作
- ThinkPHP框架五对数据的操作和条件查询
- thinkphp查询数据
- thinkphp 查询null数据
- thinkphp中的查询技巧总结
- ThinkPHP 中 查询/更新操作
- ThinkPHP 数据库操作 统计查询
- thinkphp sql 单一数据查询。
- ThinkPHP 查询数据的方式
- ThinkPHP开发指南-模型之连贯操作
- thinkPHP常用数据操作(三)连贯操作
- ThinkPHP 数据库操作,插入,更新,删除,查询
- 数据查询优化技巧
- 数据查询优化技巧
- 关于org.hibernate.TransientObjectException: object references an unsaved transient instance
- Android .mk文件语法规范及使用模板
- thinkphp 使用函数
- JAVA中使用FTPClient上传下载
- oracle的几道程序题
- Thinkphp 数据操作指南-查询技巧
- 如何用低版本的VMware打开通过高版本VMware安装的虚拟机
- AG阅读总结9.1——日志管理
- thinkphp 在循环内使用<php></php>
- SQL Server 建库,表,约束(一)
- myeclipse 8.6 优化
- 启动apk的方法
- win7-win8微软的系统已经走的太远了,我们是否需要一款中国化的XP系统?
- PCB硬件工程师入行必读