public function begin() { if ($this->_transactionLevel === 0) { $this->fireEvent('db:beginTransaction'); if (!$this->_pdo->beginTransaction()) { throw new DbException('beginTransaction failed.'); } } $this->_transactionLevel++; }