尝试访问 Yii2 中 bool 类型值的数组偏移量

Trying to access array offset on value of type bool in Yii2

我不知道如何解决这个问题

这是我的控制器

 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 数据,如果标准条件与数据库中的任何记录不匹配,则响应用户:

 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.user_id' => $id])
            ->one();

    if (!empty($view)) {
        return $this->render('view', compact('view','id'));
    }

    throw new \yii\web\NotFoundHttpException('The requested blog does not exist.');
}