protected function buildSimpleRelationSql(Doctrine_Relation $relation, $foreignAlias, $localAlias, $overrideJoin, $join) { $queryPart = $join . $this->_conn->quoteIdentifier($relation->getTable()->getTableName()) . ' ' . $this->_conn->quoteIdentifier($foreignAlias); if (!$overrideJoin) { $queryPart .= ' ON ' . $this->_conn->quoteIdentifier($localAlias . '.' . $relation->getLocalColumnName()) . ' = ' . $this->_conn->quoteIdentifier($foreignAlias . '.' . $relation->getForeignColumnName()); } return $queryPart; }
/** * Get/generate a unique foreign key name for a relationship * * @param Doctrine_Relation $relation Relation object to generate the foreign key name for * @return string $fkName */ public function generateUniqueRelationForeignKeyName(Doctrine_Relation $relation) { $parts = array($relation['localTable']->getTableName(), $relation->getLocalColumnName(), $relation['table']->getTableName(), $relation->getForeignColumnName()); $key = implode('_', array_merge($parts, array($relation['onDelete']), array($relation['onUpdate']))); $format = $this->getAttribute(Doctrine_Core::ATTR_FKNAME_FORMAT); return $this->_generateUniqueName('foreign_keys', $parts, $key, $format, $this->getAttribute(Doctrine_Core::ATTR_MAX_IDENTIFIER_LENGTH)); }
/** * Get/generate a unique foreign key name for a relationship * * @param Doctrine_Relation $relation Relation object to generate the foreign key name for * @return string $fkName */ public function generateUniqueRelationForeignKeyName(Doctrine_Relation $relation) { $parts = array($relation['localTable']->getTableName(), $relation->getLocalColumnName(), $relation['table']->getTableName(), $relation->getForeignColumnName()); $key = implode('_', array_merge($parts, array($relation['onDelete']), array($relation['onUpdate']))); $format = $this->getAttribute(Doctrine::ATTR_FKNAME_FORMAT); return $this->_generateUniqueName('foreign_keys', $parts, $key, $format, $this->properties['max_identifier_length']); }