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);
 }
Esempio n. 2
0
 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');
 }
Esempio n. 3
0
 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');
 }
Esempio n. 4
0
 /**
  * @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);
 }