Yii2.如何在 MongoDB/ActiveQuery 中使用查找?

Posted

技术标签:

【中文标题】Yii2.如何在 MongoDB/ActiveQuery 中使用查找?【英文标题】:Yii2. How to use lookup in MongoDB/ActiveQuery? 【发布时间】:2019-02-24 07:21:59 【问题描述】:

我正在创建一个 GridView。该小部件使用 ActiveQuery 进行搜索。根据其documentation,它最初是为与 mysql 一起工作而创建的。因此,本机代码允许使用joinWith() 添加关系搜索

我的数据库是 mongodb,我想搜索一个关系。加入 mongodb 的唯一方法是使用 lookup(聚合)。当我尝试将聚合添加到 ActiveQuery 时,出现错误:

调用未知方法:yii\mongodb\ActiveQuery::aggregate()

如何为 ActiveQuery 实现Yii2 aggregation lookup,以便能够加入第二个集合以进行 GridView 搜索?

【问题讨论】:

你也应该添加你的相关代码。 【参考方案1】:

我以前使用过,在这个解决方案中没有问题。检查 Yii2 版本和 MongoDB 版本。

帮助完整链接: Guide to usage aggregation in Yii2

【讨论】:

我最终只是合并了两个集合,然后使用两个(或更多)单独 CRUD 的场景来写入它,然后一次只查询集合的位。我只是希望 ActiveQuery 中只有 joinWith 有聚合。

以上是关于Yii2.如何在 MongoDB/ActiveQuery 中使用查找?的主要内容,如果未能解决你的问题,请参考以下文章

如何在yii2中使用事件?

yii2如何获取根目录

如何使用yii2的缓存依赖特性

如何在 Yii2 中将 textInput 设置为只读?

如何在 GridView::widget、Yii2 的搜索框中使用简单的下拉列表?

Yii2 - 在模型中提交时如何从小部件中获取数据?