700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > mysql查询并设置高亮_Thinkphp3.2.3设置MySql主从读写分离后 简单调用主数据库查询

mysql查询并设置高亮_Thinkphp3.2.3设置MySql主从读写分离后 简单调用主数据库查询

时间:2020-12-18 11:29:49

相关推荐

mysql查询并设置高亮_Thinkphp3.2.3设置MySql主从读写分离后 简单调用主数据库查询

图/文:迷神

Thinkphp是一款不错的国产框架,使用范围广,应用也比较多。随着网站访问增大往往需要使用mysql主从同步功能,本身Thinkphp自带了主从读写分离的功能了。

但是我们经常有一个场景就是某些特定的查询需要从主库进行查询,那应该怎么做呢,下面就分享Thinkphp3.2.3设置MySql主从读写分离后,如何方便的调用主库查询,让简单调用主库数据查询更简单。

基于版本:Thinkphp3.2.x,thinkphp3.x版本整体差不多。

修改步骤,主要是3个地方进行简单修改

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 月935行:

query的时候把master参数传进去

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

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);}

好了,这样就修改好了。修改好了之后,在TP系统中调用主库,就比较简单了,如下:

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

这样就可以直接调用主库的查询了。

有问题欢迎大家留言,觉得不错,欢迎收藏关注哦。嘿嘿~~

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。