我的问题是下一个。我使用 Yii2 gridview 表和我在会话中记录的用户 ID。如果我使用 ID 为 2 的用户登录,我只想为 ID 为 2 的用户显示表中的数据。提前感谢您的回答。
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'company_name',
'person_name',
'company_address',
'company_email:email',
'meeting_date',
'user_id',//external key
'tel_fix',
'tel_mob',
['class' => 'yii\grid\ActionColumn', 'template' => '{view} {update}'],
],
'tableOptions' => ['class' => 'table table-striped table-bordered'],
]); ?>
这是我来自 PartnersController 的 actionIndex。
public function actionIndex()
{
$searchModel = new PartnersSearch();
$dataProvider = $searchModel->search(Yii::$app->request->queryParams);
return $this->render('index', [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider,
]);
}
我在哪里可以这样做?
非常感谢!但是在您的代码中,我只进行了一项更改,现在效果很好!
代替 :
$query->andFilterWhere ( [
'user_partner_id' => $this->user_partner_id,
] );
我写 :
$query->andFilterWhere ( [
'user_partner_id' => $_SESSION['sess_id_user'],
] );
无论如何,非常感谢!
如果您使用的是UserModel
,只需将您的查询替换为SearchModel
:
$query->andFilterWhere([ 'user_partner_id' => Yii::$app->user->identity->sess_id_user, ]);
或者,如果您sess_id_user
是主键UserModel
:
$query->andFilterWhere([ 'user_partner_id' => Yii::$app->user->id, ]);
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句