protected function addCrossFKAttributes(&$script, ForeignKey $crossFK)
 {
     $joinedTableObjectBuilder = $this->getNewObjectBuilder($crossFK->getForeignTable());
     $className = $joinedTableObjectBuilder->getObjectClassname();
     $relatedName = $this->getFKPhpNameAffix($crossFK, $plural = true);
     $script .= "\n    /**\n     * @var        PropelObjectCollection|{$className}[] Collection to store aggregation of {$className} objects.\n     */\n    protected \$" . $this->getCrossFKVarName($crossFK) . ";\n";
 }
Exemple #2
0
 protected function addCrossFKAttributes(&$script, ForeignKey $crossFK)
 {
     $joinedTableObjectBuilder = $this->getNewObjectBuilder($crossFK->getForeignTable());
     $className = $joinedTableObjectBuilder->getObjectClassname();
     $script .= "\n\t/**\n\t * @var        array {$className}[] Collection to store aggregation of {$className} objects.\n\t */\n\tprotected \$" . $this->getCrossFKVarName($crossFK) . ";\n";
 }
 protected static function getRefRelatedBySuffix(ForeignKey $fk)
 {
     $relCol = '';
     foreach ($fk->getLocalForeignMapping() as $localColumnName => $foreignColumnName) {
         $localTable = $fk->getTable();
         $localColumn = $localTable->getColumn($localColumnName);
         if (!$localColumn) {
             throw new Exception("Could not fetch column: {$columnName} in table " . $localTable->getName());
         }
         $foreignKeysToForeignTable = $localTable->getForeignKeysReferencingTable($fk->getForeignTableName());
         if ($fk->getForeignTableName() == $fk->getTableName()) {
             // self referential foreign key
             $relCol .= $fk->getForeignTable()->getColumn($foreignColumnName)->getPhpName();
             if (count($foreignKeysToForeignTable) > 1) {
                 // several self-referential foreign keys
                 $relCol .= array_search($fk, $foreignKeysToForeignTable);
             }
         } elseif (count($foreignKeysToForeignTable) > 1 || count($fk->getForeignTable()->getForeignKeysReferencingTable($fk->getTableName())) > 0) {
             // several foreign keys to the same table, or symmetrical foreign key in foreign table
             $relCol .= $localColumn->getPhpName();
         }
     }
     if ($relCol != '') {
         $relCol = 'RelatedBy' . $relCol;
     }
     return $relCol;
 }