Yii 2:将会话变量传递到输入

5lwkijsr  于 2022-11-09  发布在  其他
关注(0)|答案(3)|浏览(135)

如何将会话变量userid传递给文本输入?使用Yii::app->session
我的应用程序的loginform模型

$session = Yii::$app->session;
 $session->set('userid',  $this->getUser($this->email, 'id'));
 $session->set('firstname',  $this->getUser($this->email, 'fname'));

视图/表单

<?= $form->field($model, 'name')->textInput(['value' => Yii::$app->session['email']]) ?>
vlju58qv

vlju58qv1#

问题是当你把值传递给会话的时候。因为你传递的值是一个对象,但是有一个解决方案,而且很简单。

$form->field($model, 'name')->textInput([
    'value' => Yii::$app->session->get('userid')->id
]);
2q5ifsrm

2q5ifsrm2#

您只需将其作为Yii::$app->session->get('userid')->id传递即可。
您调用的是email而不是userid。您可以在documentation中阅读更多有关会话的信息。如果有任何不清楚的地方,请告诉我。

dojqjjoe

dojqjjoe3#

我不太清楚为什么要明确设置会话用户ID,而Yii有一个内置的方式来检索用户ID。

Yii::$app->user->getId();

上述操作将返回用户ID,而无需手动设置会话用户ID。

相关问题