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'); }
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; }
/** * @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); }
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'); }
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'); }
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.'); }