@my_name_teddy

Не работает foreach в php Yii2?

Добрый вечер. Решил изучить фреймворк Yii2. Сделал все по феншую. Создал контроллер. Создал модель. И когда дело дошло до вывода на страницу столкнулся с проблемой.
Это мой контроллер
<?php
namespace app\controllers;
use app\models\Good;
use yii\web\Controller;
class CategoryController extends Controller
{
    public function actionIndex(){
        $goods = new Good();
        $goods = $goods->getAllGoods();
        return $this->render('index',compact('goods'));
    }
}

Моя модель:
<?php
namespace app\models;
use yii\db\ActiveRecord;
class Good extends ActiveRecord
{
    public static function tableName()
    {
        return 'good';
    }
    public function getAllGoods(){
        $goods = Good::find()->asArray()->all();
        return $goods;
    }
}


На самой странице решил вардампом посмотреть, что находится в моей $goods. Все получилось. Вывело все поля из БД. Обрадовался и решил вставить html и форичем пробежаться по моему массиву $goods.
<div class="container">
    <div class="row">
        <?foreach ($goods as $goodsLol) {?>
            <div class="col-4">
                <div class="product">
                    <div class="product-img">
                        <img src="../../web/img/" alt="Филадельфия">
                    </div>
                    <div class="product-name"><?= $goodsLol['name']?></div>
                    <div class="product-descr">Состав: лосось, сливочный сыр</div>
                    <div class="product-price">Цена: 300 рублей</div>
                    <div class="product-buttons">
                        <button type="button" class="product-button__add btn btn-success">Заказать</button>
                        <button type="button" class="product-button__more btn btn-primary">Подробнее</button>
                    </div>
                </div>
            </div>
        <?}?>
    </div>
</div>


Результат меня огорчил. Yii вывел ошибку о том, что не понимает переменную $goodsLol. Повторюсь, если делать vardump либо просто форич, но в php коде на этой странице - все работает. Но как только я делаю этот же форич в html коде, все ломается. Помогите пожалуйста!
5e728af7a9907750732430.png
  • Вопрос задан
  • 78 просмотров
Пригласить эксперта
Ответы на вопрос 1
@KingstonKMS
full-stack web developer
Исключите короткие теги, если не знаете их действие. И про переменные верно сказано в комментарии. Зачем усложнять свой труд короткими тегами и именами переменных с похожими символами.
<?foreach ($goods as $goodsLol) {?>
... 
<?}?>
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы