multiple db & with()

Уже исправленные репорты или принятые предложения
Ответить
astronin
Сообщения: 606
Зарегистрирован: 2012.01.30, 17:46

multiple db & with()

Сообщение astronin »

Есть две базы, есть два компонента db и db2
Делаю поиск с подключением with(), в метод one(db2) вставляю db2.
Основная модель возвращается нормально, т.е. данные из второй базы, а вот то, что должно было получиться, используя with(), пусто. Видимо при with() идет запрос из дефолтной базы, в данном случае первой, и ничего не находит(так там нет данных искомых моделей).
Есть способ чтоб модели из with использовали ранее указанное подключение db2 без указания его же в самой моделе? Или это просто баг?
Аватара пользователя
Stepan Selyuk
Сообщения: 198
Зарегистрирован: 2010.02.03, 05:51
Откуда: Cyprus, Limassol
Контактная информация:

Re: multiple db & with()

Сообщение Stepan Selyuk »

Судя по коду, если в методах ActiveQuery не передать $db, то будет использован Yii::$app->getDb() при вызове createCommand().
Сначала невидимое, затем видимое. И так у всех программистов :)
Ekstazi
Сообщения: 1428
Зарегистрирован: 2009.08.20, 22:54
Откуда: Молдова, Бельцы
Контактная информация:

Re: multiple db & with()

Сообщение Ekstazi »

Пишите тикет на гитхаб.
astronin
Сообщения: 606
Зарегистрирован: 2012.01.30, 17:46

Re: multiple db & with()

Сообщение astronin »

Краткое содержание по тикету, для тех, кто не знает английский:
  • это не баг, а фича, так как на лету могут подключаться модели из разных баз, даже NoSql
Как руководить этим процессом:
  • - либо использовать метод getDb() в каждой модели
    - либо динамически менять Yii::$app->db
Ответить