Yii2的查询构建器是一种简单的方式来构建复杂的 SQL 查询,它是在 Active Record 模式基础上实现的。查询构建器提供了一个面向对象的接口来构建 SQL 查询,并且可以通过查询构建器来处理原始的 SQL 查询。
在 Yii2 中,查询构建器使用 Query 类来表示 SQL 查询,并且可以使用命令式的方式来构建 SQL 查询语句。查询构建器提供了一系列的方法来指定查询条件、排序规则、分组规则、聚合函数、连接操作等,并且可以通过方法链的方式来组合这些操作。
查询构建器的底层原理是通过一个抽象语法树来表示 SQL 查询语句,并且使用该语法树来构建 SQL 查询语句。当使用查询构建器时,每次调用方法都会向语法树中添加一个节点,最终语法树会被编译成一个 SQL 查询语句。这种方式可以保证生成的 SQL 查询语句是正确的,也可以避免 SQL 注入等安全问题。