yii2 - 从控制器传递到 Yii 中的视图时,值为 null
问题描述
为什么我不能将值从控制器传递到视图?该值不为null,但似乎该值未传递到视图页面。为什么?
下面是我的代码:
控制器(SiteController.php):
public function actionProfileuser()
{
$session = Yii::$app->session;
if($session['UserID'] == null){
Yii::$app->user->logout();
return $this->goHome();
}
else
{
//$model = User::find()->where(['ID'=>$session['UserID']])->all();
//$model = new User;
$model = (new \yii\db\Query())
->from('tbl_user')
->where(['ID' => $session['UserID']])
->all();
return $this->render('profileuser', [
'model' => $model,
]);
}
}
查看(profileuser.php):
<?= $model->Name; ?>
解决方案
在您的控制器中,您检索模型集合,all()
. 如果您只需要一个,请使用 one():
public function actionProfileuser()
{
$session = Yii::$app->session;
if($session['UserID'] == null){
Yii::$app->user->logout();
return $this->goHome();
}
else
{
//$model = User::find()->where(['ID'=>$session['UserID']])->all();
//$model = new User;
$model = (new \yii\db\Query())
->from('tbl_user')
->where(['ID' => $session['UserID']])
->one(); // <---------- use one()
return $this->render('profileuser', [
'model' => $model,
]);
}
}
查看(profileuser.php):
<?= $model['Name']; ?>
或者使用全部,您应该迭代模式。Fr 显示所有结果:
foreach( $model AS $key => $value){
echo $value->name;
}
推荐阅读
- python - 如何让我的代码重复用户指定的任意次数?
- flutter - 致命错误 gradle-3.5.0.pom:2:1:prolog 中不允许内容
- python - 绘制多个小折线图
- eclipse - Eclipse IDE安装后突然不见了?
- css-animations - 尝试导入过渡时,带有雪包的 Svelte 会给出“未实现:动画”
- python - 缩短 SQLite3 插入语句以提高效率和可读性
- c - 如何在C中转发声明一个没有标签的typedef结构
- matlab - MATLAB - 在函数中自动应用 obj 引用
- r - 在 R 中的高尔夫网站上抓取排行榜表
- html - 对于具有 ex aequo 位置的有序列表 - OL 或 UL,哪个标签在语义上是正确的?