子查询ThinkPHP笔记

/ / 2016-02-01   阅读:2489
1、使用select方法 当select方法的参数为false的时候,表示不进行查询只是返回构建SQL,例如: // 首先构造子查询SQL  $subQuery = $model->field('id,name')->table('tablename')->g...
1、使用select方法
当select方法的参数为false的时候,表示不进行查询只是返回构建SQL,例如:
// 首先构造子查询SQL 
$subQuery = $model->field('id,name')->table('tablename')->group('field')->where($where)->order('status')->select(false); 
当select方法传入false参数的时候,表示不执行当前查询,而只是生成查询SQL。


2、使用buildSql方法
$subQuery = $model->field('id,name')->table('tablename')->group('field')->where($where)->order('status')->buildSql(); 
调用buildSql方法后不会进行实际的查询操作,而只是生成该次查询的SQL语句(为了避免混淆,会在SQL两边加上括号),然后我们直接在后续的查询中直接调用。
// 利用子查询进行查询 
$model->table($subQuery.' a')->where()->order()->select() 
构造的子查询SQL可用于ThinkPHP的连贯操作方法,例如table where等。

上一篇:动态查询

下一篇:连贯操作介绍

我要评论

昵称:
验证码:

最新评论

共0条 共0页 10条/页 首页 上一页 下一页 尾页
意见反馈