From 956be174946424f3480892593cee9907feb877e0 Mon Sep 17 00:00:00 2001 From: thinkphp Date: Sat, 30 May 2015 15:30:58 +0800 Subject: [PATCH] =?UTF-8?q?=E6=94=B9=E8=BF=9Bmodel=E7=B1=BB=E7=9A=84db?= =?UTF-8?q?=E6=96=B9=E6=B3=95=EF=BC=8C=E6=94=AF=E6=8C=81=E7=9B=B4=E6=8E=A5?= =?UTF-8?q?=E4=BD=BF=E7=94=A8=EF=BC=9A=20$model->db('config')=20//?= =?UTF-8?q?=E8=AF=BB=E5=8F=96config=E9=85=8D=E7=BD=AE=E5=8F=82=E6=95=B0?= =?UTF-8?q?=E4=BD=9C=E4=B8=BA=E6=95=B0=E6=8D=AE=E5=BA=93=E8=BF=9E=E6=8E=A5?= =?UTF-8?q?=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit $model->db('config','mysql://root@127.0.0.1/test') //读取指定数据库连接信息连接 --- library/think/model.php | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/library/think/model.php b/library/think/model.php index f086a26d..f1635a0b 100644 --- a/library/think/model.php +++ b/library/think/model.php @@ -701,28 +701,31 @@ class Model { /** * 切换当前的数据库连接 * @access public - * @param integer $linkNum 连接序号 + * @param mixed $linkId 连接标识 * @param mixed $config 数据库连接信息 * @return Model */ - public function db($linkNum='',$config=''){ - if(''===$linkNum && $this->db) { + public function db($linkId='',$config=''){ + if(''===$linkId && $this->db) { return $this->db; } - if(!isset($this->_db[$linkNum])) { + + if(!isset($this->_db[$linkId])) { // 创建一个新的实例 - if(!empty($config) && is_string($config) && false === strpos($config,'/')) { // 支持读取配置参数 + if(is_string($linkId) && ''==$config){ + $config = Config::get($linkId); + }elseif(!empty($config) && is_string($config) && false === strpos($config,'/')) { // 支持读取配置参数 $config = Config::get($config); } - $this->_db[$linkNum] = Db::instance($config); + $this->_db[$linkId] = Db::instance($config); }elseif(null === $config){ - $this->_db[$linkNum]->close(); // 关闭数据库连接 - unset($this->_db[$linkNum]); + $this->_db[$linkId]->close(); // 关闭数据库连接 + unset($this->_db[$linkId]); return ; } // 切换数据库连接 - $this->db = $this->_db[$linkNum]; + $this->db = $this->_db[$linkId]; $this->_after_db(); return $this; }