public function testAppendPsToCreatesAnInConditionUsingATableAlias() { $c = new Criteria(); $c->addAlias('bar_alias', 'bar'); $cton = new InCriterion($c, 'bar_alias.COL', array('foo')); $params = array(); $ps = ''; $cton->appendPsTo($ps, $params); $this->assertEquals('bar_alias.COL IN (:p1)', $ps); $expected = array(array('table' => 'bar', 'column' => 'COL', 'value' => 'foo')); $this->assertEquals($expected, $params); }
public function testDoDeleteTableAlias() { if ($this->runningOnSQLite()) { $this->markTestSkipped('SQLite does not support Alias in Deletes'); } $con = Propel::getServiceContainer()->getWriteConnection(BookTableMap::DATABASE_NAME); $c = new Criteria(BookTableMap::DATABASE_NAME); $c->addAlias('b', BookTableMap::TABLE_NAME); $c->add('b.TITLE', 'War And Peace'); $c->doDelete($con); if ($this->isDb('pgsql')) { $expectedSQL = $this->getSql("DELETE FROM `book` AS b WHERE b.TITLE='War And Peace'"); } else { $expectedSQL = $this->getSql("DELETE b FROM `book` AS b WHERE b.TITLE='War And Peace'"); } $this->assertEquals($expectedSQL, $con->getLastExecutedQuery(), 'doDelete() accepts a Criteria with a table alias'); }
public function testDoDeleteTableAlias() { $con = Propel::getServiceContainer()->getWriteConnection(BookTableMap::DATABASE_NAME); $c = new Criteria(BookTableMap::DATABASE_NAME); $c->addAlias('b', BookTableMap::TABLE_NAME); $c->add('b.TITLE', 'War And Peace'); $c->doDelete($con); $expectedSQL = "DELETE b FROM `book` AS b WHERE b.TITLE='War And Peace'"; $this->assertEquals($expectedSQL, $con->getLastExecutedQuery(), 'doDelete() accepts a Criteria with a table alias'); }
/** * @expectedException \Propel\Runtime\Exception\LogicException */ public function testMergeWithAliasesThrowsException() { $c1 = new Criteria(); $c1->addAlias('b', BookTableMap::TABLE_NAME); $c2 = new Criteria(); $c2->addAlias('b', AuthorTableMap::TABLE_NAME); $c1->mergeWith($c2); }