Thinkphp3.2.3设置MySql主从读写分离后,如何方便的调用主库查询

1、thinkphp/Library/Think/Model.class.php
62行:


protected $methods          =   array('strict','order','alias','having',
'group','lock','distinct','auto','filter','validate','result',
'token','index',’force’,’master’);  //1、添加,’master’



2、ThinkPHP/Library/Think/Db/Driver.class.php

  1.     /**
         * 查找记录
         * @access public
         * @param array $options 表达式
         * @return mixed
         */
        public function select($options=array()) {
            $this->model  =   $options['model'];
            $this->parseBind(!empty($options['bind'])?$options['bind']:array());
            $sql    = $this->buildSelectSql($options);
          $result   = $this->query($sql,!empty($options['fetch_sql']) ? true : false,$options['master']);  //2、添加   ,$options['master']
            return $result;
        }

query的时候把master参数传进去

3、ThinkPHP/Library/Think/Db/Driver.class.php   140行

public function query($str,$fetchSql=false,$master=flase) {
    if(!empty($this->config['deploy']) && ($master || $this->transTimes > 0)){
        $this->initConnect(true);
    }else{
        $this->initConnect(false);
    }



最后测试调用是没问题的:

M('User')->master(true)->find(1);

关键词: 读写分离 , thinkphp , mysql主从

上一篇: IOS微信内置浏览器如何隐藏跳转链接后底部的前进后退横栏

目前还没有人评论,您发表点看法?
发表评论

评论内容 (必填):