Adobe
@Adobe
php developer

Как избавить от ошибки Invalid argument supplied for foreach в yii2?

Всех приветствую.
Уже не знаю куда писать, никто не знает ;(
Третий день бьюсь над ошибкой:
Пользуюсь вот этим расширением https://github.com/creocoder/yii2-nested-sets
Для Yii1 проблем не было.
Все сделал строго по мануалу, но валится ошибка
49e5cb38f94e4a298299a47ad3e84f08.png
полный размер скриншота: https://yadi.sk/d/HtM4ECmRjewsY

Причем эта ошибка вываливается при любом обращении к таблице Categories, если поведение убираю, то объект приходит.
т.е. делаю $roots = Categories::find()->roots()->all();
Ошибка.

Categories модель
<?php

namespace backend\models;

use creocoder\nestedsets\NestedSetsBehavior;
use yii\db\ActiveRecord;

class Categories extends ActiveRecord
{

  public function behaviors() {
    return [
      'tree' => [
        'class' => NestedSetsBehavior::className(),
         'treeAttribute' => 'tree',
      ],
    ];
  }

  public function transactions()
  {
    return [
      self::SCENARIO_DEFAULT => self::OP_ALL,
    ];
  }

  public static function find()
  {
    return new CategoryQuery(get_called_class());
  }
}


CategoryQuery Модель
<?php

namespace backend\models;

use creocoder\nestedsets\NestedSetsQueryBehavior;
use yii\db\ActiveRecord;

class CategoryQuery extends ActiveRecord
{
  public function behaviors() {
    return [
      NestedSetsQueryBehavior::className(),
    ];
  }
}


Таблица перекочевала из Yii1 (поля переименовал для Yii2 нестед-сетс расширения)

rgY0n3H3bRU.jpg
  • Вопрос задан
  • 2295 просмотров
Решения вопроса 1
Adobe
@Adobe Автор вопроса
php developer
ActiveQuery, а не ActiveRecord -_-
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Странно. Я использовал его на yii2 все работало. Покажите вывод
Ответ написан
Ваш ответ на вопрос

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

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