如何在Yii2中仅显示表的某些元素?

如何在Yii2中仅显示表的某些元素?,yii2,yii2-basic-app,Yii2,Yii2 Basic App,我想在“reserva”表的id_alumno等于id_alumno登录时显示此列表的行 --餐桌预订 --GridView保留\索引 <?= GridView::widget([ 'dataProvider' => $dataProvider, 'filterModel' => $searchModel, 'columns' => [ 'fecha', //['class' => 'yii\grid\Acti

我想在“reserva”表的id_alumno等于id_alumno登录时显示此列表的行

--餐桌预订

--GridView保留\索引

<?= GridView::widget([
    'dataProvider' => $dataProvider,
    'filterModel' => $searchModel,
    'columns' => [
        'fecha',
        //['class' => 'yii\grid\ActionColumn'],
    ],
]); ?>

将其添加到“ReservaSearch.php”中的“search”函数中的其他“andFilterWhere”后面


您可以在Gridview小部件中添加查询

您是想说您想在Gridview中显示表中id等于登录用户id的行吗?是的,这是一个好问题,您是想根据用户是否经过身份验证来显示列吗?是的,仅此而已:(您不需要任何异常,例如,当用户是管理员或具有特殊权限的用户可以访问所有记录时?管理员可以查看所有“保留”,但配置文件“alumno”只能查看其“保留”这是错误的,不会向站点管理员显示所有记录,这就像是在
searchModel
中进行硬编码,这不是一个好方法。我尝试了这一方法,但无法正常工作。“dataProvider'=>$dataProvider->query->where('id\u reserva'==Yii::$app->user->identity->id\u alumno),
$query->andFilterWhere(['id_alumno' => \Yii::$app->user->id]);
$dataProvider->query->where('reserva == id_alumno ')