我使用Yii 2类yii\elasticsearch\ActiveRecord来接收来自ElasticSearch的数据。通常该类中从ElasticSearch获取数据的方法会以ActiveRecord(AR)对象的形式返回数据。因此很容易从AR创建一个activeDataProvider来将数据填充到列表视图中,等等。
但是:yii\elasticsearch\ActiveRecord::mget()并不返回AR对象,而是返回一个文档数组。
我的疑问:
1.)有没有办法使用mget - feature / elastic multi get feature并将结果作为AR对象来获取?
或
2.)是否有办法将该文档数组引入AR对象,以使ActiveDataProvider(包括列表视图)正常工作?
1条答案
按热度按时间xxb16uws1#
我找到了以下解决方案:
1.运行Yii 2 mget,其中包含我想获取的ID列表,它将返回一个文档数组。
1.使用ArrayDataProvider类和上一步的mget-output创建ActiveDataProvider
示例代码: