子查询构造器

SW-X的数据库ORM操作,都统一依赖\x\Db();类。

SW-X中只推荐使用buildSql()方法搭配table()方法来构造子查询语句。buildSql()方法是不执行SQL语句,返回子查询结构语句:

$Db = new \x\Db();
$Db->name('user')->field('id')->where('id', 1)->order('id DESC')->buildSql();

最终生成的SQL语句类似于:( SELECR id FROM tp_user where id=1 ORDER BY id DESC )
再配合table()方法就能实现子查询操作:

$Db = new \x\Db();
$sql = $Db->name('user')->field('id')->where('id', 1)->order('id DESC')->buildSql();
$Db->table($sql.' AS A')->select();

生成的SQL语句为:SELECT * FROM ( SELECR id FROM tp_user where id=1 ORDER BY id DESC );