Добрый день. Допустим есть две связи: PHP: class OperationJr extends ActiveRecord { public static function getDb() { return \Yii::$app->db3; } public static function tableName() { return 'ОперацияЖР'; } public function getJobJournal() { return $this->hasMany(JobJournal::className(), ['Oid' => 'ЖурналРабот']); } } class JobJournal extends ActiveRecord { public static function getDb() { return \Yii::$app->db3; } public static function tableName() { return 'ЖурналРабот'; } public function getOperationJr() { return $this->hasMany(OperationJr::className(), ['ЖурналРабот' => 'Oid']); } } Допустим мне надо в определенном запросе поменять БД, я добавлю в конце запроса \Yii::$app->db2: PHP: public function getRegistration($num) { $result = JobJournal::find() ->with('operationJr') ->where(['Номер' => $num ]) ->one(\Yii::$app->db2); return $result; } Но, изменение БД не коснется with('operationJr'). Подскажите как и ему можно изменить БД?
PHP: /* - установка взаимодействия указателя над ресурсами */ public function setResourcePointer( string $name = 'im' ): void { $this -> im = &$this -> items -> images['resources'][$name]; } PHP: /* - ... */ public function destroy(): void { imagedestroy ( $this -> im ); }
@mkramer есть тестовая база данных, есть рабочая. И вот чтобы не плодить дубликаты файлов, просто бы в запросе менять бд и все. Одна и та же таблица может участвовать как в рабочем процессе, так и в чем то новом, еще тестовом.
@Artur_hopf, делается два конфига, для рабочей базы, и для тестовой. А не связываются таблицы из тестовой с таблицей из рабочей...
db.php PHP: return [ 'components' => [ 'db1' => [ // ], 'db2' => [ // ], 'db3' => [ // ], 'db4' => [ // ], ] ]; вызов так: PHP: \Yii::$app->db2 --- Добавлено --- Ладно, там придется дублировать видимо. Ничего не поделаешь.
\Yii::$app->db2:- это типо поиска. Но ты и в конфиге должен прописать коректный путь с алиасом ,и в URL тоже.