Класс 'yii \ app \ models \ DB' не найден в yii2

Если вы хотите, чтобы ipp указывал на ip2, вам нужно сказать ipp = &ip2;. Однако это оставило бы ip1 все еще указывая на i.

-1
задан prasad chinthala 13 July 2018 в 12:06
поделиться

1 ответ

Yii имеет дело с подключением к базам данных для вас, вам не нужно PDO. Просто войдите в Yii::$app->db2, если вы хотите, чтобы CommonModel или производные классы ActiveRecord использовали вторую базу данных в качестве хранилища данных:

class CommonModel extends ActiveRecord {
    public static function getDb()
    {
        // this will cause Yii to use the database configured as 'db2' in config/web.php
        return Yii::$app->db2;
    }
}

class Car extends CommonModel { }
// will try to insert a new row in `db2`.`car`
(new Car)->save();

Вам также может понадобиться сделать следующее, если вы собираетесь для выполнения кросс-схемных запросов (config/db2.php):

return [
  // ...
  // add and adjust the keys below
  'tablePrefix' => '',
  'schemaMap' => [
      'mysql' => [
          'class' => 'yii\db\mysql\Schema',
          'defaultSchema' => 'my_db_name',
      ],
  ],
];
2
ответ дан haveyaseen 17 August 2018 в 13:27
поделиться
  • 1
    Спасибо @haveyaseen. Это решило проблему, но я уже решил ее по-другому, но , чтобы проверить ваш ответ, я все еще пробовал ваше решение, и он также работал . – prasad chinthala 16 July 2018 в 05:31
Другие вопросы по тегам:

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