[英]Yii2 ActiveDataProvider - Invalid argument supplied for foreach()
[英]Yii2: Yii::$app->request->queryParams Invalid argument supplied for foreach()
我正在嘗試使用Yii2 docs創建ActiveDataProvider ,但我一直在收到此錯誤:
Calling unknown method: app\models\UserKeysQuery::load()
控制器:
public function actionIndex()
{
$searchModel = new UserKeys();
$dataProvider = $searchModel::find()->search(Yii::$app->request->queryParams);
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
模型:
<?php
namespace app\models;
use Yii;
use yii\base\Model;
use app\models\UserKeys;
use yii\data\ActiveDataProvider;
/**
* This is the ActiveQuery class for [[Keys]].
*
* @see Keys
*/
class UserKeysQuery extends UsersQuery
{
public function search($params)
{
$query = UserKeys::find();
$query->joinWith(['user', 'licence']);
$dataProvider = new ActiveDataProvider([
'query' => $query,
]);
if (!($this->load($params) && $this->validate()))
return $dataProvider;
$query->andFilterWhere([
'key' => Yii::$app->encrypter->encrypt($this->key)
]);
return $dataProvider;
}
}
我究竟做錯了什么?
你延伸
class UserKeysQuery extends UsersQuery
但是你用
use app\models\UserKeys;
分配適當值的UserKeys或UsersKeys
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.