Example #1
0
 /**
  * Method from the TableMap API
  */
 public function getRelations()
 {
     // table maps
     $authorTable = new \TableMap();
     $authorTable->setClassName('\\Foo\\Author');
     $resellerTable = new \TableMap();
     $resellerTable->setClassName('\\Foo\\Reseller');
     // relations
     $mainAuthorRelation = new \RelationMap('MainAuthor');
     $mainAuthorRelation->setType(\RelationMap::MANY_TO_ONE);
     $mainAuthorRelation->setForeignTable($authorTable);
     $authorRelation = new \RelationMap('Author');
     $authorRelation->setType(\RelationMap::ONE_TO_MANY);
     $authorRelation->setForeignTable($authorTable);
     $resellerRelation = new \RelationMap('Reseller');
     $resellerRelation->setType(\RelationMap::MANY_TO_MANY);
     $resellerRelation->setLocalTable($resellerTable);
     return array($mainAuthorRelation, $authorRelation, $resellerRelation);
 }
 public function validFieldNameProvider()
 {
     $className = '\\Foo\\Book';
     $options = array('foo' => 'bar');
     // table maps
     $emptyTableMap = new \TableMap();
     $authorTable = new \TableMap();
     $authorTable->setClassName('\\Foo\\Author');
     $resellerTable = new \TableMap();
     $resellerTable->setClassName('\\Foo\\Reseller');
     $relationsTableMap = $this->getMock('\\TableMap');
     // relations
     $mainAuthorRelation = new \RelationMap('MainAuthor');
     $mainAuthorRelation->setType(\RelationMap::MANY_TO_ONE);
     $mainAuthorRelation->setForeignTable($authorTable);
     $authorRelation = new \RelationMap('Author');
     $authorRelation->setType(\RelationMap::ONE_TO_MANY);
     $authorRelation->setForeignTable($authorTable);
     $resellerRelation = new \RelationMap('Reseller');
     $resellerRelation->setType(\RelationMap::MANY_TO_MANY);
     $resellerRelation->setLocalTable($resellerTable);
     // configure table maps mocks
     $relationsTableMap->expects($this->any())->method('getRelations')->will($this->returnValue(array($mainAuthorRelation, $authorRelation, $resellerRelation)));
     // columns
     $titleColumn = new \ColumnMap('Title', $emptyTableMap);
     $titleColumn->setType('text');
     $titleColumn->setPhpName('Title');
     $titleFieldMapping = array('id' => false, 'type' => 'text', 'fieldName' => 'Title');
     return array(array(null, array(), $className, 'Title', $options, array('type' => null, 'association_mapping' => null, 'field_mapping' => null)), array($emptyTableMap, array(), $className, 'Title', $options, array('type' => null, 'association_mapping' => null, 'field_mapping' => null)), array($emptyTableMap, array($titleColumn), $className, 'Title', $options, array('type' => 'text', 'association_mapping' => null, 'field_mapping' => $titleFieldMapping)), array($relationsTableMap, array($titleColumn), $className, 'MainAuthor', $options, array('type' => \RelationMap::MANY_TO_ONE, 'association_mapping' => array('targetEntity' => '\\Foo\\Author', 'type' => \RelationMap::MANY_TO_ONE), 'field_mapping' => null)), array($relationsTableMap, array($titleColumn), $className, 'Authors', $options, array('type' => \RelationMap::ONE_TO_MANY, 'association_mapping' => array('targetEntity' => '\\Foo\\Author', 'type' => \RelationMap::ONE_TO_MANY), 'field_mapping' => null)), array($relationsTableMap, array($titleColumn), $className, 'Resellers', $options, array('type' => \RelationMap::MANY_TO_MANY, 'association_mapping' => array('targetEntity' => '\\Foo\\Reseller', 'type' => \RelationMap::MANY_TO_MANY), 'field_mapping' => null)));
 }