проблема hasMany в Yii2

719
10 декабря 2016, 10:18

есть вот такой запрос

            $top_cats = ModArendaTree::find()->with('adscount')->where(['active' => 1])->andWhere(['parent_id' => 0])->orderBy(['popular' => SORT_DESC, 'sort' => SORT_DESC])->all();

определил связь в модели

public function getAdscount(){
    return $this->hasMany(CatsForAds2::className(),['ad_id'=>'id'])->count();
}

однако выводит ошибку будто такой связи нет

app\modules\Tree\models\ModArendaTree has no relation named "adscount".
но есть в связи убираю "->count()" то все отлично работает... Почему так?
Answer 1

При построении запроса, метод ->with('adscount') ищет в ModArendaTree метод getAdscount() который возвращает экземпляр класса ActiveQuery.

Когда вы добавляете ->count(), метод будет пытаться вернуть уже число а не экземпляр класса, по этому строитель запроса его просто не находит.

READ ALSO
Проблема с изменением данных в базе данных

Проблема с изменением данных в базе данных

Получаю данные из базы данных, они вносятся в поля - http://istack

197
Коррекция даты с учетом года

Коррекция даты с учетом года

Здравствуйте, подскажите есть ли в PHP какая нибудь умная функция, которая принимала бы в качестве базовой даты строку "29 dec 2016" и определяла...

285
Изменять информацию раз в сутки

Изменять информацию раз в сутки

Нужно на странице, изменять информацию через определенный период времени, например, раз в сутки

237
Не получается исключить страницы в woprdpress

Не получается исключить страницы в woprdpress

У меня подгружались похожие записиЯ добавил ещё и страницы

254