在 common\model\LoginForm.php 中,我用以下语句声明了一个变量:public $nhs在 rules() 中,我已将其声明为 boolean & required。这在登录时在 frontend\views\site\login.php 中作为单选按钮呈现给用户,这些按钮要么是真要么是假。我需要在用户登录后访问用户设置的这个变量的值,在进程的其他地方,特别是在:前端\视图\布局\ main.php为了控制呈现给用户的选项。我对 Yii2 比较陌生,正在努力寻找解决方案。
1 回答
牛魔王的故事
TA贡献1830条经验 获得超3个赞
如果您在模型中声明了变量,但它不是数据库中的字段,则该变量只是临时的,它只会持续到后期操作完成并保存数据为止。一旦您转到另一个操作,并重新加载模型,该值就消失了。
因此,如果您希望该信息在所有应用程序中持续存在,您有两个选择:
删除公共变量并使该变量成为数据库中的一个字段,并在用户登录后存储它。
将其作为 $_SESSION['nhs'] = //post 变量存储在用户会话中
如果您采用第一个选项,并将其存储在已登录的用户模型上,则您可以在应用程序的任何位置访问该变量(如果用户已连接):
echo Yii::$app->user->identity->nhs;
如果你采取第二种选择,你会这样做:
echo $_SESSION['nhs'];
- 1 回答
- 0 关注
- 150 浏览
添加回答
举报
0/150
提交
取消