/** * 单例模式:获取本类的实例 * @param \tfc\saf\DbProxy $dbProxy * @return \tdo\EntityBuilder */ public static function getInstance(DbProxy $dbProxy) { $clusterName = $dbProxy->getClusterName(); if (!isset(self::$_instances[$clusterName])) { self::$_instances[$clusterName] = new self($dbProxy); } return self::$_instances[$clusterName]; }
/** * 构造方法:初始化表名和数据库操作类 * @param string $tableName * @param \tfc\saf\DbProxy $dbProxy */ public function __construct($tableName, DbProxy $dbProxy) { $tblprefix = $dbProxy->getTblprefix(); if ($tblprefix !== '' && stripos($tableName, $tblprefix) !== 0) { $tableName = $tblprefix . $tableName; } $this->_dbProxy = $dbProxy; $this->_tableName = $tableName; }
/** * (non-PHPdoc) * @see \tfc\mvc\interfaces\Action::run() */ public function run() { $dbProxy = new DbProxy('trotri'); $sql = 'SELECT `experience` FROM `tr_members` WHERE `member_id1` = ?'; $opBefore = $dbProxy->fetchColumn($sql, 1, 0); var_dump($opBefore); exit; $commands = array(array('sql' => 'UPDATE tr_member_portal SET valid_mail = \'y\' WHERE member_id = 1'), array('sql' => 'UPDATE tr_member_portal SET valid_mail = \'y\' WHERE member_id = 2'), array(), array('sql' => 'UPDATE tr_member_portal SET valid_mail = ? WHERE member_id = ?', 'params' => array('valid_mail' => 'y', 'member_id' => 3)), array('sql' => 'UPDATE tr_member_portal SET valid_mail = ? WHERE member_id = ?', 'params' => array('valid_mail' => 'y', 'member_id' => 4)), array('sql' => 'UPDATE tr_member_portal SET valid_mail = \'y\' WHERE member_id = 5')); $ret = $dbProxy->doTransaction($commands); var_dump($ret); $ret = $dbProxy->query('UPDATE tr_member_portal SET valid_mail = \'y\' WHERE member_id = 6'); var_dump($ret); }