Exemplo n.º 1
0
 public function testSetRelationMapRightAlias()
 {
     $bookTable = BookPeer::getTableMap();
     $join = new ModelJoin();
     $join->setTableMap($bookTable);
     $join->setRelationMap($bookTable->getRelation('Author'), null, 'a');
     $this->assertEquals(array(BookPeer::AUTHOR_ID), $join->getLeftColumns(), 'setRelationMap() automatically sets the left columns');
     $this->assertEquals(array('a.ID'), $join->getRightColumns(), 'setRelationMap() automatically sets the right columns  using the right table alias');
 }
Exemplo n.º 2
0
 public static function getPhpNameMap()
 {
     if (self::$phpNameMap === null) {
         $map = BookPeer::getTableMap();
         $columns = $map->getColumns();
         $nameMap = array();
         foreach ($columns as $column) {
             $nameMap[$column->getPhpName()] = $column->getColumnName();
         }
         self::$phpNameMap = $nameMap;
     }
     return self::$phpNameMap;
 }
Exemplo n.º 3
0
 /**
  * @dataProvider conditionsForTestReplaceMultipleNames
  */
 public function testReplaceMultipleNames($origClause, $expectedColumns, $modifiedClause)
 {
     $c = new TestableModelCriteria('bookstore', 'Book');
     $c->replaceNames($origClause);
     $foundColumns = $c->replacedColumns;
     foreach ($foundColumns as $column) {
         $expectedColumn = BookPeer::getTableMap()->getColumnByPhpName(array_shift($expectedColumns));
         $this->assertEquals($expectedColumn, $column);
     }
     $this->assertEquals($modifiedClause, $origClause);
 }
Exemplo n.º 4
0
 public function testUseFkQueryTwiceTwoAliases()
 {
     $q = BookQuery::create()->useAuthorQuery('a')->filterByFirstName('Leo')->endUse()->useAuthorQuery('b')->filterByLastName('Tolstoi')->endUse();
     $join1 = new ModelJoin();
     $join1->setJoinType(Criteria::LEFT_JOIN);
     $join1->setTableMap(AuthorPeer::getTableMap());
     $join1->setRelationMap(BookPeer::getTableMap()->getRelation('Author'), null, 'a');
     $join1->setRelationAlias('a');
     $join2 = new ModelJoin();
     $join2->setJoinType(Criteria::LEFT_JOIN);
     $join2->setTableMap(AuthorPeer::getTableMap());
     $join2->setRelationMap(BookPeer::getTableMap()->getRelation('Author'), null, 'b');
     $join2->setRelationAlias('b');
     $q1 = BookQuery::create()->addAlias('a', AuthorPeer::TABLE_NAME)->addJoinObject($join1, 'a')->add('a.FIRST_NAME', 'Leo', Criteria::EQUAL)->addAlias('b', AuthorPeer::TABLE_NAME)->addJoinObject($join2, 'b')->add('b.LAST_NAME', 'Tolstoi', Criteria::EQUAL);
     $this->assertTrue($q->equals($q1), 'useFkQuery() called twice on the same relation with two aliases creates two joins');
 }
Exemplo n.º 5
0
 public function testGetRelation()
 {
     set_include_path(get_include_path() . PATH_SEPARATOR . "fixtures/bookstore/build/classes");
     Propel::init('fixtures/bookstore/build/conf/bookstore-conf.php');
     $bookTable = BookPeer::getTableMap();
     $titleColumn = $bookTable->getColumn('TITLE');
     $this->assertNull($titleColumn->getRelation(), 'getRelation() returns null for non-foreign key columns');
     $publisherColumn = $bookTable->getColumn('PUBLISHER_ID');
     $this->assertEquals($publisherColumn->getRelation(), $bookTable->getRelation('Publisher'), 'getRelation() returns the RelationMap object for this foreign key');
     $bookstoreTable = BookstoreEmployeePeer::getTableMap();
     $supervisorColumn = $bookstoreTable->getColumn('SUPERVISOR_ID');
     $this->assertEquals($supervisorColumn->getRelation(), $supervisorColumn->getRelation('Supervisor'), 'getRelation() returns the RelationMap object even whit ha specific refPhpName');
 }
 public function testIsInteger()
 {
     $bookTable = BookPeer::getTableMap();
     $idColumn = $bookTable->getColumn('id');
     // INTEGER
     $titleColumn = $bookTable->getColumn('title');
     // VARCHAR
     $this->assertTrue($idColumn->isInteger(), 'isInteger() returns true');
     $this->assertFalse($titleColumn->isInteger(), 'isInteger() returns false');
 }
Exemplo n.º 7
0
 public function testIsPrimaryString()
 {
     $bookTable = BookPeer::getTableMap();
     $idColumn = $bookTable->getColumn('ID');
     $titleColumn = $bookTable->getColumn('TITLE');
     $isbnColumn = $bookTable->getColumn('ISBN');
     $this->assertFalse($idColumn->isPrimaryString(), 'isPrimaryString() returns false by default.');
     $this->assertTrue($titleColumn->isPrimaryString(), 'isPrimaryString() returns true if set in schema.');
     $this->assertFalse($isbnColumn->isPrimaryString(), 'isPrimaryString() returns false if not set in schema.');
     $titleColumn->setPrimaryString(false);
     $this->assertFalse($titleColumn->isPrimaryString(), 'isPrimaryString() returns false if unset.');
     $titleColumn->setPrimaryString(true);
     $this->assertTrue($titleColumn->isPrimaryString(), 'isPrimaryString() returns true if set.');
 }