【发布时间】:2017-03-21 08:06:06
【问题描述】:
我试图在 actionView 方法中渲染两个模型,但没有结果。查了一些之前问题的答案,看来我的方法还可以,但还是不行。
这是为方法视图制作的:
public function actionView($id)
{
$postModel = Post::find()->where(['post_id' => $id])->one();
$currUser = BlogUser::find()->where(['id' => $postModel->user_id])->one();
return $this->render('view', [
'model' => $this->findModel($id),
'author' => $currUser
]);
}
和我的查看页面:
<?php
use yii\helpers\Html;
use yii\widgets\DetailView;
/* @var $this yii\web\View */
/* @var $model app\models\Post */
//$this->title = $model->title;
//$this->params['breadcrumbs'][] = ['label' => 'Posts', 'url' => ['index']];
//$this->params['breadcrumbs'][] = $this->title;
?>
<div class="post-view">
<div class="content">
<div class="row">
<div class="col-md-3">
<?= $model->content;
$author->username;
?>
</div>
</div>
</div>
</div>
它告诉作者变量是未定义的,但是当我在动作中渲染它时无法理解为什么。将感谢每一个建议!谢谢!
【问题讨论】:
-
您想针对哪个模型渲染另一个文件?
-
您确定 $currUser 包含有效模型吗? .. 如果查询没有返回您拥有的有效模型和未定义的值
-
是的,当我直接在 view.php 中键入代码时,它会返回一个有效的对象作者。用 var_dump 检查它,它似乎是正确的:)