我不知道如何解决这个问题
这是我的控制器
public function actionView($id)
{
$view = (new \yii\db\Query())
->select(['blog.id', 'user_id', 'body', 'title'])
->from('blog')
->join('INNER JOIN', 'users', 'blog.user_id = users.id')
->where(['blog.id' => $id])
->one();
return $this->render('view', compact('view','id'));
}
这是我的观点
<div class="col-lg-4">
<h2><?= $view['name'] . ' ' . $view['surname'] ?></h2>
<h3><?= $view['title']; ?></h3>
<p><?= $view['body']; ?></p>
<a href="<?php echo yii::$app->homeUrl; ?>" class="btn btn-default">Back </a>
<?= Html::a('Delete', ['delete', 'id' => $view['id']], ['class' => 'btn btn-danger']) ?>
</div>
使用检查您的$view
数据中是否存在特定的密钥。
<div class="col-lg-4">
<h2><?= ($view['name'] ?? '') . ' ' . ($view['surname'] ?? '') ?></h2>
<h3><?= $view['title'] ?? ''; ?></h3>
<p><?= $view['body'] ?? ''; ?></p>
<a href="<?= Yii::$app->homeUrl; ?>" class="btn btn-default">Back</a>
<?php
if ($view) {
echo Html::a('Delete', ['delete', 'id' => $view['id']], ['class' => 'btn btn-danger'])
}
?>
</div>
编辑:
您基本上可以检查是否还从控制器中获取了$view
数据,如果条件不匹配数据库中的任何记录,也可以对用户做出响应:
if (empty($view)) {
// 404 Not Found Exception
} else {
// render your view file with data
}