Я пытаюсь отобразить базу данных для каждого пользователя в порядке убывания даты с использованием поставщика данных, это работает для Yii 1 на контроллере:
$DataProvider = new CActiveDataProvider('ModelName', array( 'criteria' => array( 'condition' => 'user_id=' . Yii::app()->user->id, 'order' => 'submitted_dt DESC', ), 'pagination' => array( 'pageSize' => 20, ), ));
Я пробую это в Yii 2:
$DataProvider = new ActiveDataProvider([ 'query' => ModelName::find(), 'criteria' => [ 'condition' => 'user_id=' . Yii::$app->user->identity->id, 'order' => 'submitted_dt DESC', ], 'pagination' => [ 'pageSize' => 20, ], ]); // get posts in the current page $Model= $DataProvider->getModels();
использованием$DataProvider = new ActiveDataProvider([ 'query' => ModelName::find(), 'criteria' => [ 'condition' => 'user_id=' . Yii::$app->user->identity->id, 'order' => 'submitted_dt DESC', ], 'pagination' => [ 'pageSize' => 20, ], ]); // get posts in the current page $Model= $DataProvider->getModels();
данных$DataProvider = new ActiveDataProvider([ 'query' => ModelName::find(), 'criteria' => [ 'condition' => 'user_id=' . Yii::$app->user->identity->id, 'order' => 'submitted_dt DESC', ], 'pagination' => [ 'pageSize' => 20, ], ]); // get posts in the current page $Model= $DataProvider->getModels();
Ошибка i get – неизвестное свойство: yii\data\ActiveDataProvider::criteria
как установить это условие и порядок? Все предложения приветствуются
Правильный путь Yii2
:
$DataProvider = new ActiveDataProvider([ 'query' => ModelName::find()-> where(['user_id'=>Yii::$app->user->identity->id])-> orderBy('submitted_dt DESC'), 'pagination' => [ 'pageSize' => 20, ], ]); // get posts in the current page $Model= $DataProvider->getModels();
использованием$DataProvider = new ActiveDataProvider([ 'query' => ModelName::find()-> where(['user_id'=>Yii::$app->user->identity->id])-> orderBy('submitted_dt DESC'), 'pagination' => [ 'pageSize' => 20, ], ]); // get posts in the current page $Model= $DataProvider->getModels();
данных$DataProvider = new ActiveDataProvider([ 'query' => ModelName::find()-> where(['user_id'=>Yii::$app->user->identity->id])-> orderBy('submitted_dt DESC'), 'pagination' => [ 'pageSize' => 20, ], ]); // get posts in the current page $Model= $DataProvider->getModels();
Таким образом, вам не нужны criteria
в Yii2
поскольку этого больше не существует.