Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 正在尝试获取非对象yii的属性_Php_Yii_Yii2 - Fatal编程技术网

Php 正在尝试获取非对象yii的属性

Php 正在尝试获取非对象yii的属性,php,yii,yii2,Php,Yii,Yii2,我开始学习Yii框架,所以我是一个初学者。我在挣扎。我想使用yii2框架从数据库中获取数据。这是我的控制器 public function actionView() { $this->view->title = 'List Hotels'; $items = ArrayHelper::map(Hotel::find()->all(), 'id', 'name'); return $this->render('index', [

我开始学习Yii框架,所以我是一个初学者。我在挣扎。我想使用yii2框架从数据库中获取数据。这是我的控制器

 public  function actionView()
{


    $this->view->title = 'List Hotels';
    $items = ArrayHelper::map(Hotel::find()->all(), 'id', 'name');

        return $this->render('index', [
            'items' => $items,


        ]);

}
在我的视图文件中,我使用了如下获取的数据

   <?php

/* @var $this yii\web\View */

use yii\helpers\Html;

 $this->title = 'Hotel list';
 $this->params['breadcrumbs'][] = $this->title;
 ?>

<?php foreach ($items as $item): ?>

<p> <?= $item-> name ?></p>
<p> <?= $item->address ?></p>
<p> <?= $item->description ?></p>


<?php endforeach; ?>

当我在$items下编写var_dumps($items)时,我可以看到数据。然而在视图中,它表示试图获取非对象的属性“name”。我做错了什么请引导我。谢谢你抽出时间

 $items = Hotel::find()->all();
我不应该添加数组助手

ArrayHelper::map()
返回一个数组,在本例中,传递的第二个参数是键,第三个参数是值。因此,您需要将其元素作为数组元素而不是类属性来访问。比如:

<?php foreach ($items as $key => $value): ?>

    <p> <?= $key ?></p>
    <p> <?= $value ?></p>

<?php endforeach; ?>
致:


您通过
$items
(带
-s
),但使用
$item
(不带
-s
),我看不到
$items
的任何循环,因此是的,
$item==null
对不起,我写错了代码。我编辑了它。你现在能查一下吗?非常感谢。我解决了这个问题
$items = ArrayHelper::map(Hotel::find()->all(), 'id', 'name');
$items = Hotel::find()->all();