在 common\model\LoginForm.php 中,我用以下語句聲明了一個變量:public $nhs在 rules() 中,我已將其聲明為 boolean & required。這在登錄時在 frontend\views\site\login.php 中作為單選按鈕呈現(xiàn)給用戶,這些按鈕要么是真要么是假。我需要在用戶登錄后訪問用戶設(shè)置的這個變量的值,在進程的其他地方,特別是在:前端\視圖\布局\ main.php為了控制呈現(xiàn)給用戶的選項。我對 Yii2 比較陌生,正在努力尋找解決方案。
1 回答

牛魔王的故事
TA貢獻1830條經(jīng)驗 獲得超3個贊
如果您在模型中聲明了變量,但它不是數(shù)據(jù)庫中的字段,則該變量只是臨時的,它只會持續(xù)到后期操作完成并保存數(shù)據(jù)為止。一旦您轉(zhuǎn)到另一個操作,并重新加載模型,該值就消失了。
因此,如果您希望該信息在所有應(yīng)用程序中持續(xù)存在,您有兩個選擇:
刪除公共變量并使該變量成為數(shù)據(jù)庫中的一個字段,并在用戶登錄后存儲它。
將其作為 $_SESSION['nhs'] = //post 變量存儲在用戶會話中
如果您采用第一個選項,并將其存儲在已登錄的用戶模型上,則您可以在應(yīng)用程序的任何位置訪問該變量(如果用戶已連接):
echo Yii::$app->user->identity->nhs;
如果你采取第二種選擇,你會這樣做:
echo $_SESSION['nhs'];
- 1 回答
- 0 關(guān)注
- 171 瀏覽
添加回答
舉報
0/150
提交
取消