我有一个关于合并多个查询的问题。 在 Yii 1.x 中,您可以将 CDbCriteria 与
$criteria->merge($otherCriteria)
如何在 Yii2 中使用查询实现相同的嵌套条件等?
编辑: 假设我想要单独的查询来形成子查询。在完成所有子查询后,我想将它们合并到一个大查询中。
最佳答案
Yii2
中不再有CDbCriteria
概念。相反,您可以引用以下类:
- http://www.yiiframework.com/doc-2.0/yii-db-query.html (yii\db\Query)
- http://www.yiiframework.com/doc-2.0/yii-db-activequery.html (yii\db\ActiveQuery)
你之前用 CDbCriteria
做的所有事情现在你可以用上面的类来做。因此,无需将两个条件相互合并。
更新
Yii2
也支持如下子查询(作为Yii2
的官方指南):
$subQuery = (new Query)->select('COUNT(*)')->from('user');
$query = (new Query)->select(['id', 'count' => $subQuery])->from('post');
结果是:
SELECT `id`, (SELECT COUNT(*) FROM `user`) AS `count` FROM `post`
http://www.yiiframework.com/doc-2.0/guide-db-query-builder.html#building-query
关于mysql - Yii2 合并查询,如 yii1 中的 cdbcriteria,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27177329/