为了账号安全,请及时绑定邮箱和手机立即绑定

在 Yii2 中访问模型变量(用户输入)

在 Yii2 中访问模型变量(用户输入)

PHP
qq_笑_17 2021-09-05 20:58:27
在 common\model\LoginForm.php 中,我用以下语句声明了一个变量:public $nhs在 rules() 中,我已将其声明为 boolean & required。这在登录时在 frontend\views\site\login.php 中作为单选按钮呈现给用户,这些按钮要么是真要么是假。我需要在用户登录后访问用户设置的这个变量的值,在进程的其他地方,特别是在:前端\视图\布局\ main.php为了控制呈现给用户的选项。我对 Yii2 比较陌生,正在努力寻找解决方案。
查看完整描述

1 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

如果您在模型中声明了变量,但它不是数据库中的字段,则该变量只是临时的,它只会持续到后期操作完成并保存数据为止。一旦您转到另一个操作,并重新加载模型,该值就消失了

因此,如果您希望该信息在所有应用程序中持续存在,您有两个选择:

  1. 删除公共变量并使该变量成为数据库中的一个字段,并在用户登录后存储它。

  2. 将其作为 $_SESSION['nhs'] = //post 变量存储在用户会话

如果您采用第一个选项,并将其存储在已登录的用户模型上,则您可以在应用程序的任何位置访问该变量(如果用户已连接):

echo Yii::$app->user->identity->nhs;

如果你采取第二种选择,你会这样做:

echo $_SESSION['nhs'];


查看完整回答
反对 回复 2021-09-05
  • 1 回答
  • 0 关注
  • 150 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信