使用 - > all()的Yii 2 ActiveDataProvider查询给出"调用数组上的成员函数andFilterWhere()"错误

alz*_*mbo 2 php yii2

我需要传递ActiveDataProvider对象来查看,我无法理解为什么这样:

$query = Incarico::find();

$dataProvider = new ActiveDataProvider([
    'query' => $query,
]);
Run Code Online (Sandbox Code Playgroud)

工作,而这:

$query = Incarico::find()
    ->joinWith('allegatos')           
    ->all();

$dataProvider = new ActiveDataProvider([
    'query' => $query,
]);
Run Code Online (Sandbox Code Playgroud)

给我以下错误:

在数组上调用成员函数andFilterWhere()

aro*_*hev 5

您不应该申请all(),$query因为在传递该查询的结果时,ActiveDataProvider query属性需要有效的ActiveQuery实例.