Is it possible for certain models to be in one database and other models in another (using the same connection)?
I have a number of read-only tables that I want shar
To switch the database for the model,
Use the namespace in the controller/model
use Cake\Datasource\ConnectionManager;
In controller;-
$conn = ConnectionManager::get('remote_db_1');
$this->ModelName->connection($conn);
In model:-
$conn = ConnectionManager::get('remote_db_1');
$this->connection($conn);
Note:- If you are saving data for the associated tables too, then keep in mind to change the DB for the associated data otherwise data for the associated table will be inserted into the default connection/DB.
This is the answer for CakePHP 3.*
I've built a site in CakePHP that has models using different databases and I never had problem with joins across different databases - the framework seemed to take care of all that for me. Though you might need to explicitly state the database tables used in your models to get it to work.
This site has a way to do it, but it's a little hacky.