@po47

Не работает foreach в проекте yii2, что не так?

Не выводятся данные через цикл foreach.
Через var_dump($..) выводит массив, а когда подключаю
foreach ($goods as $catalog) {
        echo $goods->name.'<br>';
    }
, только переносы строк.

Контроллер
$goods = Catalog::find()->asArray(['id' => SORT_DESC])->all();
        $size = Size::find()->asArray([''])->all();
        $material = Material::find()->asArray([''])->all();
        return $this->render('index', compact('goods','size','material'));

Модель
class Catalog extends ActiveRecord {
    
    public static function tableName() {
        return 'goods';
    }
  • Вопрос задан
  • 73 просмотра
Решения вопроса 1
kawabanga
@kawabanga
1) asArray() - не требует ничего внутри. Сортировка в вашем примере должна быть через -> orderBy() .
2) echo $goods->name.'
'; - тут вы обращаетесь к исходному массиву, а не переменной, которая у вас получается в результате foreach.
3) советую добавить строгую проверку на warnings и notices. У вас как минимум покажет, что необходимого ключа в массиве нет, и вы поймете свою ошибку.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы