当前位置:K88软件开发文章中心网站服务器框架ThinkPHP → 文章内容

子查询

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-26 15:33:18

由 AdairSweet 创建, 最后一次修改 2016-02-24 从3.0版本开始新增了子查询支持,有两种使用方式: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等。

子查询