CakePHP using multiple databases for models

前端 未结 3 1243
野性不改
野性不改 2021-01-06 06:19

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

3条回答
  •  余生分开走
    2021-01-06 06:51

    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.*

提交回复
热议问题