【发布时间】:2016-02-11 11:40:14
【问题描述】:
我正在 YII2 中开发一个包含多个数据库的 API。我想实时选择数据库。这个想法是读取控制器中可用的一个变量(API 密钥)来识别模型中的正确连接数据库。
例如,在我拥有的门户网站之类的 web 应用程序中(它有效):
在数据库默认连接中我有
'db' => [
'class' => 'yii\db\Connection',
'dsn' => 'mysql:host=localhost;dbname=dbcompany_0',
'username' => 'root',
'password' => 'XXXXXXXXXXXXXXXXXXXX',
'charset' => 'utf8',
],
在模型中我有
public function tableName()
{
$schema = '';
$user = User::find(Yii::app()->user->id);
$schema = "dbcompany_". $user->CompanyId;
return $schema . '.' . 'customer';
}
通过这种方法,我只需为所有数据库公司建立一个数据库连接。
如何在 API 中应用相同\类似的方法。我没有会话。
欢迎任何想法。
【问题讨论】: