Php 如何将CArrayDataProvider导入控制器

Php 如何将CArrayDataProvider导入控制器,php,yii2,Php,Yii2,对不起,我问了个愚蠢的问题,我是Yii的新手,但我不知道如何将CArrayDataProvider导入我的控制器类。我找到了一种方法Yii::import('application.extensions.CArrayDataProvider')(在这次调用之后,我得到了错误调用未定义的方法Yii::import()),但它对我不起作用,因为我的项目中根本没有文件夹扩展名(我使用Yii基本应用程序)。请告诉我,如何以正确的方式添加CArrayDataProvider 在我的yii 2基本应用程序文

对不起,我问了个愚蠢的问题,我是Yii的新手,但我不知道如何将
CArrayDataProvider
导入我的控制器类。我找到了一种方法
Yii::import('application.extensions.CArrayDataProvider')(在这次调用之后,我得到了错误
调用未定义的方法Yii::import()
),但它对我不起作用,因为我的项目中根本没有文件夹扩展名(我使用Yii基本应用程序)。请告诉我,如何以正确的方式添加CArrayDataProvider


在我的yii 2基本应用程序文件夹中,没有名为CArrayDataProvider的文件。也许我应该从我的应用程序中为yii框架添加一些引用?我从存档文件安装了应用程序。

您可能指的是yii在搜索模型中默认使用的
yii\data\ActiveDataProvider
。您应该查看它的。

CArrayDataProvider
在Yii2中替换为
ArrayDataProvider
。要使用它,只需将其包含在文件中。将下面的内容放在文件的开头

use yii\data\ArrayDataProvider;

有关更多详细信息,请参阅此

它是一种原始方法,类似于gii生成的CRUD操作,不幸的是,它不适合我。最好的方法是使用SqlDataProvider,此文档要好得多。您可以使用最适合您需要的方法。答案是使用SqlDataProvider。非常有用的文档