0

Cakephpで変数データベースを作成する方法を探しています。データベース設定(user、pass、db)がログインしているユーザーに依存するWebサイトを作成しています。データベース設定は別のデータベースから取得されます。前もって感謝します、

アーロン

- 答え

早速お返事をいただきありがとうございます。データベースを切り替える方法は知っていますが、データベース設定は可変である必要があります。例

   $db = $this->DB_SET['DB_SET']['db']; //from model DB_SET the database 
    $db_login= $this->DB_SET['DB_SET']['login'];
    $db_host= $this->DB_SET['DB_SET']['host'];
    $db_pass= $this->DB_SET['DB_SET']['pass'];
    var $db2 = array(
            'driver' => 'mysql',
            'persistent' => false,
            'host' => $db_host,
            'login' => $db_login,
            'password' => $db_pass,
            'database' => $db,
            'prefix' => '',
            'encoding' => 'UTF8',
            'port' => '',
        );
4

1 に答える 1

2

その場でデータベース接続を作成する場合は、を使用することをお勧めしますConnectionManager::create()

// get logged in user's id and create a connection for them
$id = $this->Auth->user('id');
ConnectionManager::create("user_$id_db", array(
  'driver' => 'mysql',
  'persistent' => false,
  'host' => $db_host,
  'login' => $db_login,
  'password' => $db_pass,
  'database' => $db,
  'prefix' => '',
  'encoding' => 'UTF8',
  'port' => '',
));

次に、準備ができたらそれを使用するようにモデルを設定します。

// get logged in user's id and use their connection
$id = $this->Auth->user('id');
$this->Model->setDataSource("user_$id_db");
于 2012-05-31T14:10:54.013 に答える