связи таблиц ActiveRecord

Обсуждение документации второй версии фреймворка. Переводы Cookbook и авторские рецепты.
Ответить
alexlb
Сообщения: 2
Зарегистрирован: 2015.02.19, 15:35

связи таблиц ActiveRecord

Сообщение alexlb »

Документации нормальной нет, нагуглить ничего не получилось, так что извиняюсь за ламерский вопрос.
Есть таблица с альбомами, связана с таблицей пользователей.
в модели пользователей объявлен геттер

Код: Выделить всё

public function getAlbums()
    {
        return $this->hasMany(Albums::className(), ['user_id' => 'id']);
    }
Задача выбрать пользователей, у которых есть альбомы.
Что то типа такого

Код: Выделить всё

$model=Users::find()->where('count(Albums)>0')->all();
На ум 2 решения -
Выбирать всех пользователей и потом фильтровать $user->count(Albums)>0
Или написать SQL запрос чтоб сразу выдал что нужно. Но хочется сделать через ActiveRecord, ведь не зря же его сделали.
lynicidn
Сообщения: 2222
Зарегистрирован: 2014.05.24, 15:12

Re: связи таблиц ActiveRecord

Сообщение lynicidn »

User::find()->innerJoinWith('album', ..., 'RIGHT JOIN')
alexlb
Сообщения: 2
Зарегистрирован: 2015.02.19, 15:35

Re: связи таблиц ActiveRecord

Сообщение alexlb »

Супер! не понимаю как, но работает. Может подскажете где мануал почитать?
Я так понимаю что официальный перевод мануала тут
https://github.com/yiisoft/yii2/tree/ma ... s/guide-ru
но к сожалению раздел по работе с БД отсутствует
Ответить