2
A
回答
5
你按照下面FO相同的CakePHP應用程序中使用多個數據源的步驟。在配置/ app.php
你必須管理多個數據源配置,在默認的數據源保持主數據庫,使一個或多個數據源,我們可以說,它歷史第二
提及多個數據庫源數據源。如表類下面提到
'Datasources' => [
'default' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => '<host name>',
'username' => '<database user>',
'password' => '<database password>',
'database' => '<database name>',
'encoding' => 'utf8',
'timezone' => 'UTC',
'flags' => [],
'cacheMetadata' => true,
'log' => false,
'quoteIdentifiers' => false,
'url' => env('DATABASE_URL', null),
],
'history' => [
'className' => 'Cake\Database\Connection',
'driver' => 'Cake\Database\Driver\Mysql',
'persistent' => false,
'host' => '<host name>',
'username' => '<database user>',
'password' => '<database password>',
'database' => '<database name>',
'encoding' => 'utf8',
'timezone' => 'UTC',
'flags' => [],
'cacheMetadata' => true,
'log' => false,
'quoteIdentifiers' => false,
'url' => env('DATABASE_URL', null),
]
]
指定數據源
在Src/Model/Table/<AnyOtherSource>Table.php
,添加下面的方法,要使用歷史數據源。無需在需要使用默認數據源的情況下添加以下方法,對於默認數據源,CakePHP將負責處理它。
public static function defaultConnectionName() {
return 'history';
}
加入和CakePHP中3
您可以通過與相應的數據庫名稱前綴的 表訪問同一個MySQL實例其他數據庫模型關聯。您必須使用database_name.table_name指定表 名稱,爲此您需要在每個表類中添加以下代碼 。
例如
SELECT * FROM this_database.table_1 t1 JOIN that_database.table_2 t2 ON t2.column = t1.column
添加以下代碼中Src/Model/Table/<All>Table.php
class LogsTable extends Table {
public function initialize(array $config) {
parent::initialize($config);
$this->table($this->connection()->config()['database'] . "." . $this->table()); // this is very important for joining and associations.
// your other code for initilize method
}
public static function defaultConnectionName() {
return 'history';
}
// other methods and your code should be here
}
相關問題
- 1. CakePHP 3 - 使用多個數據庫連接*無ORM *
- 2. CakePHP的3多數據庫
- 3. 連接3個不同的數據庫
- 4. CakePHP的3:從數據庫
- 5. Rails 3中 - 與多個數據庫連接狀態
- 6. 如何在grails 3中獲取數據庫連接3
- 7. 數據庫連接錯誤(3):無法連接到數據庫',
- 8. CakePHP的3個會話表數據庫
- 9. 在cakephp 3中的動態連接
- 10. CakePHP 3在連接表中保存額外數據
- 11. Symfony 3 - 多個數據庫連接的EntityManager依賴注入
- 12. rails 3,多個數據庫連接和設置模型
- 13. Codeigniter 3與dbforge的多個數據庫連接
- 14. Slick 3配置ProvisionException連接數據庫
- 15. Zend框架3 XAMPP數據庫連接
- 16. 使用Actionscript 3連接到數據庫
- 17. 無法連接到數據庫Symfony 3
- 18. 笨3錯誤連接到數據庫
- 19. 數據庫無法連接到Kohana 3
- 20. MVC 3 ASP.NET和連接2數據庫
- 21. Codeigniter 3未連接到sqlserver數據庫
- 22. CakePHP 3 findAuth連接表返回數組
- 23. Kohana 3 ORM:多個連接
- 24. CakePHP 3更新連接表中的數據
- 25. cakePHP 3:多JOIN
- 26. 單個或多個數據庫? (Rails 3)
- 27. 創建PostgreSQL數據庫使用CakePHP 3
- 28. CakePHP 3:SQLSTATE [23000]數據庫錯誤
- 29. cakephp 3. *不識別新數據庫列
- 30. CakePHP 3.x - 在多個表中保存關聯的數據
[CakePHP中3多個數據庫連接]的可能的複製(https://stackoverflow.com/questions/29981890 /多數據庫連接在-cakephp中-3) –