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

在 common\model\LoginForm.php 中,我用以下语句声明了一个变量:

public $nhs

在 rules() 中,我已将其声明为 boolean & required。这在登录时在 frontend\views\site\login.php 中作为单选按钮呈现给用户,这些按钮要么是真要么是假。

我需要在用户登录后访问用户设置的这个变量的值,在进程的其他地方,特别是在:

前端\视图\布局\ main.php

为了控制呈现给用户的选项。我对 Yii2 比较陌生,正在努力寻找解决方案。


qq_笑_17
浏览 151回答 1
1回答

牛魔王的故事

如果您在模型中声明了变量,但它不是数据库中的字段,则该变量只是临时的,它只会持续到后期操作完成并保存数据为止。一旦您转到另一个操作,并重新加载模型,该值就消失了。因此,如果您希望该信息在所有应用程序中持续存在,您有两个选择:删除公共变量并使该变量成为数据库中的一个字段,并在用户登录后存储它。将其作为 $_SESSION['nhs'] = //post 变量存储在用户会话中如果您采用第一个选项,并将其存储在已登录的用户模型上,则您可以在应用程序的任何位置访问该变量(如果用户已连接):echo Yii::$app->user->identity->nhs;如果你采取第二种选择,你会这样做:echo $_SESSION['nhs'];
打开App,查看更多内容
随时随地看视频慕课网APP