我正在尝试使用数据提供程序以降序日期顺序为每个用户显示数据库,这适用于控制器上的Yii 1:
$DataProvider = new CActiveDataProvider('ModelName', array(
'criteria' => array(
'condition' => 'user_id=' . Yii::app()->user->id,
'order' => 'submitted_dt DESC',
),
'pagination' => array(
'pageSize' => 20,
),
));
Run Code Online (Sandbox Code Playgroud)
我在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();
Run Code Online (Sandbox Code Playgroud)
我得到的错误是未知属性:yii\data\ActiveDataProvider::criteria.那么设置这个条件和顺序的方法是什么?欢迎所有建议
当我使用函数获取属性的值并且它使用Gridview正常工作时,我收到错误.我做错了什么?
<?= DetailView::widget([
'model' => $model,
'attributes' => [
[
'label' => 'subject_type',
'value' => function ($data) {
return Lookup::item("SubjectType", $data->subject_type);
},
'filter' => Lookup::items('SubjectType'),
],
'id',
'subject_nature',
],
]) ?>
Run Code Online (Sandbox Code Playgroud)