0

我们正在使用连接管理器来完成这个过程,但我们无法实现我们需要的东西。我们尝试了不同的方法来无法连接到动态多个数据库。下面是我们正在使用的代码。

php 5.6 以上和 cakephp 3.7 版本。

use Cake\Controller\Component;
use Cake\ORM\TableRegistry;
use Cake\Datasource\ConnectionManager;
use Cake\Database\Connection; 
use Cake\Database\Driver\Mysql;

public function setDatabase($company_id, $datasource = 'default') {
       $dbConf = ConnectionManager::getConfig($datasource); //Here connect to dynamic database.
       $dbConf['database'] = "db_".$company_id;//changing database name to which we need to connect with same configurations
       $dbConf['name'] = "company";
       $dbConf['encoding'] = 'utf8';
       ConnectionManager::setConfig('company', $dbConf );
       // ConnectionManager::config('company', $dbConf );
       $JobSeekers = TableRegistry::get('JobSeekers');
       $JobSeekers_details = $JobSeekers->find('all'); // firing query jobseekers table but still it's excueting in default db instead of company db.which trows error
       $JobSeekers_data = $JobSeekers_details->first();
      pr($JobSeekers_data);
}

我们需要的是求职者查询必须在公司级数据库中执行,但我们收到以下错误,提示连接仍在默认数据库中。

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'default_db.job_seekers' doesn't exist
4

0 回答 0