子查询

大部分情况只要使用前两节中的方式就可以我们想要的数据。但是有一些特殊情况我们要用到原生的查询方式/子查询/联合查询,这边做一个介绍。

原生查询

  1. $stmt = $this->db()->prepare('xxx');
  2. $this->db()->execute($stmt);
  3. $stmt->fetchAll();

子查询

v2.7.1+起支持
  1. $subSql = $this->db()->table('group')->buildSql();

联合查询

  1. $this->db()->table('user')->orderBy('id', 'desc')
  2. ->union('select xxx from xxx')->select();

//或 v2.7.1+版本

  1. $subSql = $this->db()->table('group')->buildSql();//创建一个子查询
  2. $this->db()->table('user')->orderBy('id', 'desc')
  3. ->union($subSql)->select();

原文: http://doc.cmlphp.com/devintro/model/mysql/子查询.html