/** * creates this view * * @throws Doctrine_View_Exception * @return void */ public function create() { $sql = sprintf(self::CREATE, $this->_name, $this->_query->getQuery()); try { $this->_conn->execute($sql, $this->_query->getParams()); } catch (Doctrine_Exception $e) { throw new Doctrine_View_Exception($e->__toString()); } }
public function testTicket() { Doctrine_Manager::getInstance()->setAttribute('use_dql_callbacks', true); $q = new Doctrine_Query(); $q->select('s.*') ->from('Ticket_1116_User s') ->where('s.username = ?', array('test')); // to see the error switch dbh to a real db, the next line will trigger the error $test = $q->fetchOne(); //will only fail with "real" mysql $this->assertFalse($test); $sql = $q->getSql(); // just getSql()?!?! and it works ? the params are ok after this call $params = $q->getParams(); $this->assertEqual(count($params), 2); // now we have array('test',null) very strange ..... $this->assertEqual($sql, "SELECT u.id AS u__id, u.username AS u__username, u.deleted AS u__deleted FROM user u WHERE u.username = ? AND u.deleted = ?"); $this->assertEqual($params, array('test', false)); //now also this works! (always works witch mock only fails with mysql) $test = $q->fetchOne(); $this->assertFalse($test); Doctrine_Manager::getInstance()->setAttribute('use_dql_callbacks', false); }