Read and write separation

First, we need to register to read/write the information of the two links according to Configuration Information Registration.

The main code is probably as follows

DbManager::getInstance()->addConnection($con, 'read');
DbManager::getInstance()->addConnection($con2, 'write');

There are two ways to use it. You can choose according to your needs.

Mainly use the connection() method provided by AbstractModel

Function connection(string $name, bool $isTemp = false)

The second parameter needs to be passed as true, indicating temporary use, otherwise it is considered to be fixed use (the effect is equivalent to defining the connectionName attribute in the class)

Model inheritance definition

Class Test extends AbstractModel{
     /** This is because you are not using the default configuration link name, so you need to specify */
     Protected $connectionName = 'write';
    
     /** get method uses read link */
     Public function get($where = null, bool $returnAsArray)
     {
         $this->connection('read', true);
         Return parent::get($where, $returnAsArray);
     }
}

External use

Test::create()->connection('read',true)->all();