Il semble que vous rencontrez deux répertoires différents, si tel est le cas, utilisez les deux connexions différentes sur les deux applications.
Ou
Je pense que vous essayez d'atteindre les objectifs suivants:
Une base de données de connexions et applications différentes. Si cela est juste, procéder aux étapes suivantes:
Créer une connexion de base de données, par exemple db.php dans votre répertoire config
<?php
return [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=dbname',
'username' => 'user',
'password' => 'password',
'charset' => 'utf8',
];
?>
Appelez le fichier db2.php dans votre web.php fichier, dans la section des composants:
'db2' => require(__DIR__ . '/db2.php'),
Où que vous souhaitez utiliser cette connexion de base de données, substituez la connexion de base de données par défaut avec la connexion db2:
class X extends ActiveRecord {
public static function getDb() {
return Yii::$app->get('db2'); // second database
}
public $ids;
/**
* @inheritdoc
*/
public static function tableName() {
return 'dbName';
}
/**
* @inheritdoc
*/
public function rules() {
return [
// Rules as per your Database
];
}
/**
* @inheritdoc
*/
public function attributeLabels() {
return [
'id' => 'ID',
];
}
}
Notez que je l'ai utilisé cette connexion dans le modèle X.
vous avez deux répertoires d'application séparés? un dans/serveur/app et un dans/serveur/app-test? – scaisEdge
@scaisEdge Non, je veux utiliser la même base de code (même dossier) mais le script d'entrée différent, le script d'entrée chargera seulement une connexion de base de données différente. – TechMafioso
http://www.yiiframework.com/doc-2.0/guide-concept-configurations.html ou https://github.com/yiisoft/yii2-app-advanced/blob/master/docs/guide/structure-environments .Maryland. Vous avez deux options: 1. définir la variable dépendante de l'environnement "YII_ENV", 2. charger le fichier spécifique à la configuration. – lubosdz