ModelJoinBuilder Class Reference

Inheritance diagram for ModelJoinBuilder:
ModelWhereAndJoinBuilder ReadOptimizationModelWhereAndJoinBuilder

Public Member Functions

 __construct (RedBeanModelAttributeToDataProviderAdapter $modelAttributeToDataProviderAdapter, RedBeanModelJoinTablesQueryAdapter $joinTablesAdapter, $setDistinct=false)
 getTableAliasNameForBaseModel ()
 getTableAliasNameForRelatedModel ()
 resolveJoins ($onTableAliasName=null, $canUseFromJoins=true)
 resolveOnlyAttributeJoins ($onTableAliasName=null, $canUseFromJoins=true)
 resolveOnTableAliasName ($onTableAliasName=null)

Static Public Member Functions

static makeColumnNameWithTableAlias ($tableAliasName, $columnName)

Protected Member Functions

 resolveJoinsForAttribute ($onTableAliasName, $canUseFromJoins=true)
 resolveJoinsForDerivedRelationViaCastedUpModel ($onTableAliasName, $canUseFromJoins=true)
 resolveJoinsForDerivedRelationViaCastedUpModelThatIsCastedUp ($onTableAliasName, $canUseFromJoins=true)
 resolveJoinsForDerivedRelationViaCastedUpModelThatIsManyToMany ($onTableAliasName)
 resolveJoinsForInferredRelation ($onTableAliasName, $canUseFromJoins=true)
 resolveJoinsForInferredRelationThatIsCastedUp ($onTableAliasName, $canUseFromJoins=true)
 resolveAttributeModelClassNameWithCastingHintForCastingDown ($attributeModelClassName)
 resolveJoinsForAttributeOnDifferentModel ($onTableAliasName, $canUseFromJoins=true)
 resolveJoinsForAttributeOnSameModelThatIsARelation ($onTableAliasName)
 resolveJoinsForAttributeOnSameModelThatIsNotARelation ($onTableAliasName)
 resolveJoinsForAttributeOnDifferentModelThatIsARelation ($onTableAliasName, $canUseFromJoins=true)
 resolveLeftJoinsForARelationAttribute ($onTableAliasName)
 resolveJoinsForAttributeOnDifferentModelThatIsNotARelation ($onTableAliasName, $canUseFromJoins=true)
 addMixedInOrCastedUpFromJoinsForAttribute ($onTableAliasName)
 addMixedInOrCastedUpLeftJoinsForAttribute ($onTableAliasName)
 addFromJoinsForAttributeThatIsMixedIn ($onTableAliasName)
 addFromJoinsForAttributeThatIsCastedUp ()
 addLeftJoinsForAttributeThatIsMixedIn ($onTableAliasName)
 addLeftJoinForMixedInAttribute ($onTableAliasName, $attributeTableName)
 addLeftJoinsForAttributeThatIsCastedUp ($onTableAliasName)
 addLeftJoinsForARelationAttribute ($onTableAliasName)
 resolveSettingDistinctForARelationAttributeThatIsHasMany ()
 resolveSetToDistinct ()
 resolveJoinsForForARelationAttributeThatIsManyToMany ($onTableAliasName)
 resolveJoinsForForARelationAttributeThatIsAHasManyVariant ($onTableAliasName)
 resolveJoinsForForARelationAttributeThatIsAHasOne ($onTableAliasName)
 resolveAndProcessLeftJoinsForAttributeThatIsCastedDownOrUp ($modelClassName, $castedDownModelClassName, $onTableAliasName)
 processLeftJoinsForAttributeThatIsCastedDown ($modelClassName, $castedDownModelClassName, $onTableAliasName)
 resolveModelDerivationPathToItemForCastingDown ($modelClassName, $castedDownModelClassName)

Static Protected Member Functions

static resolveForeignKey ($idName)
static resolveModelClassNameThatCanHaveTable ($modelClassName, $castedDownModelClassName)

Protected Attributes

 $modelAttributeToDataProviderAdapter
 $joinTablesAdapter
 $setDistinct
 $resolvedOnTableAliasName
 $tableAliasNameForBaseModel
 $tableAliasNameForRelatedModel

Detailed Description

Base Builder for creating joins.

Definition at line 40 of file ModelJoinBuilder.php.


Constructor & Destructor Documentation

__construct ( RedBeanModelAttributeToDataProviderAdapter modelAttributeToDataProviderAdapter,
RedBeanModelJoinTablesQueryAdapter joinTablesAdapter,
setDistinct = false 
)
Parameters:
RedBeanModelAttributeToDataProviderAdapter $modelAttributeToDataProviderAdapter
RedBeanModelJoinTablesQueryAdapter $joinTablesAdapter
boolean $setDistinct

Definition at line 106 of file ModelJoinBuilder.php.


Member Function Documentation

static makeColumnNameWithTableAlias ( tableAliasName,
columnName 
) [static]
Parameters:
string $tableAliasName
string $columnName
Returns:
string

Definition at line 83 of file ModelJoinBuilder.php.

static resolveForeignKey ( idName  )  [static, protected]
Parameters:
string $idName
Returns:
string

Definition at line 95 of file ModelJoinBuilder.php.

getTableAliasNameForBaseModel (  ) 
Returns:
string

Definition at line 120 of file ModelJoinBuilder.php.

getTableAliasNameForRelatedModel (  ) 
Returns:
string
Exceptions:
NotSupportedException 

Definition at line 129 of file ModelJoinBuilder.php.

resolveJoins ( onTableAliasName = null,
canUseFromJoins = true 
)
Parameters:
null $onTableAliasName
bool $canUseFromJoins
Returns:
null|string

Definition at line 143 of file ModelJoinBuilder.php.

resolveOnlyAttributeJoins ( onTableAliasName = null,
canUseFromJoins = true 
)
Parameters:
null $onTableAliasName
bool $canUseFromJoins
Returns:
null|string

Definition at line 172 of file ModelJoinBuilder.php.

resolveOnTableAliasName ( onTableAliasName = null  ) 
Parameters:
null $onTableAliasName
Returns:
null | string

Definition at line 186 of file ModelJoinBuilder.php.

resolveJoinsForAttribute ( onTableAliasName,
canUseFromJoins = true 
) [protected]
Parameters:
$onTableAliasName 
bool $canUseFromJoins
Returns:
null|string

Definition at line 200 of file ModelJoinBuilder.php.

resolveJoinsForDerivedRelationViaCastedUpModel ( onTableAliasName,
canUseFromJoins = true 
) [protected]
Parameters:
$onTableAliasName 
bool $canUseFromJoins
Returns:
null|string

Definition at line 231 of file ModelJoinBuilder.php.

resolveJoinsForDerivedRelationViaCastedUpModelThatIsCastedUp ( onTableAliasName,
canUseFromJoins = true 
) [protected]
Parameters:
$onTableAliasName 
bool $canUseFromJoins
Returns:
null|string

Definition at line 260 of file ModelJoinBuilder.php.

resolveJoinsForDerivedRelationViaCastedUpModelThatIsManyToMany ( onTableAliasName  )  [protected]
Parameters:
$onTableAliasName 
Returns:
null|string

Definition at line 279 of file ModelJoinBuilder.php.

resolveJoinsForInferredRelation ( onTableAliasName,
canUseFromJoins = true 
) [protected]
Parameters:
$onTableAliasName 
bool $canUseFromJoins
Returns:
null|string
Exceptions:
NotImplementedException 

Definition at line 302 of file ModelJoinBuilder.php.

resolveJoinsForInferredRelationThatIsCastedUp ( onTableAliasName,
canUseFromJoins = true 
) [protected]
Parameters:
$onTableAliasName 
bool $canUseFromJoins
Returns:
null|string

Definition at line 329 of file ModelJoinBuilder.php.

resolveAttributeModelClassNameWithCastingHintForCastingDown ( attributeModelClassName  )  [protected]
Parameters:
$attributeModelClassName 
Returns:
string

Definition at line 351 of file ModelJoinBuilder.php.

resolveJoinsForAttributeOnDifferentModel ( onTableAliasName,
canUseFromJoins = true 
) [protected]
Parameters:
$onTableAliasName 
bool $canUseFromJoins
Returns:
null|string

Definition at line 366 of file ModelJoinBuilder.php.

resolveJoinsForAttributeOnSameModelThatIsARelation ( onTableAliasName  )  [protected]
Parameters:
$onTableAliasName 
Returns:
null|string

Definition at line 385 of file ModelJoinBuilder.php.

resolveJoinsForAttributeOnSameModelThatIsNotARelation ( onTableAliasName  )  [protected]
Parameters:
$onTableAliasName 
Returns:
mixed

Definition at line 395 of file ModelJoinBuilder.php.

resolveJoinsForAttributeOnDifferentModelThatIsARelation ( onTableAliasName,
canUseFromJoins = true 
) [protected]
Parameters:
$onTableAliasName 
bool $canUseFromJoins
Returns:
null|string

Definition at line 406 of file ModelJoinBuilder.php.

resolveLeftJoinsForARelationAttribute ( onTableAliasName  )  [protected]
Parameters:
$onTableAliasName 
Returns:
null|string

Reimplemented in ModelWhereAndJoinBuilder.

Definition at line 425 of file ModelJoinBuilder.php.

resolveJoinsForAttributeOnDifferentModelThatIsNotARelation ( onTableAliasName,
canUseFromJoins = true 
) [protected]
Parameters:
$onTableAliasName 
bool $canUseFromJoins
Returns:
null|string

Definition at line 437 of file ModelJoinBuilder.php.

addMixedInOrCastedUpFromJoinsForAttribute ( onTableAliasName  )  [protected]
Parameters:
$onTableAliasName 
Returns:
string

Definition at line 455 of file ModelJoinBuilder.php.

addMixedInOrCastedUpLeftJoinsForAttribute ( onTableAliasName  )  [protected]
Parameters:
$onTableAliasName 
Returns:
null|string

Definition at line 472 of file ModelJoinBuilder.php.

addFromJoinsForAttributeThatIsMixedIn ( onTableAliasName  )  [protected]
Parameters:
$onTableAliasName 
Returns:
string

Definition at line 489 of file ModelJoinBuilder.php.

addFromJoinsForAttributeThatIsCastedUp (  )  [protected]
Returns:
string

Definition at line 507 of file ModelJoinBuilder.php.

addLeftJoinsForAttributeThatIsMixedIn ( onTableAliasName  )  [protected]
Parameters:
$onTableAliasName 
Returns:
null|string

Definition at line 518 of file ModelJoinBuilder.php.

addLeftJoinForMixedInAttribute ( onTableAliasName,
attributeTableName 
) [protected]
Parameters:
$onTableAliasName 
$attributeTableName 
Returns:
null|string

Definition at line 530 of file ModelJoinBuilder.php.

addLeftJoinsForAttributeThatIsCastedUp ( onTableAliasName  )  [protected]
Parameters:
$onTableAliasName 
Returns:
null|string

Definition at line 545 of file ModelJoinBuilder.php.

addLeftJoinsForARelationAttribute ( onTableAliasName  )  [protected]
Parameters:
$onTableAliasName 
Returns:
null|string
Exceptions:
NotSupportedException 

Definition at line 557 of file ModelJoinBuilder.php.

resolveJoinsForForARelationAttributeThatIsManyToMany ( onTableAliasName  )  [protected]
Parameters:
$onTableAliasName 
Returns:
null|string

Definition at line 600 of file ModelJoinBuilder.php.

resolveJoinsForForARelationAttributeThatIsAHasManyVariant ( onTableAliasName  )  [protected]
Parameters:
$onTableAliasName 
Returns:
null|string

Definition at line 630 of file ModelJoinBuilder.php.

resolveJoinsForForARelationAttributeThatIsAHasOne ( onTableAliasName  )  [protected]
Parameters:
$onTableAliasName 
Returns:
null|string

Definition at line 647 of file ModelJoinBuilder.php.

resolveAndProcessLeftJoinsForAttributeThatIsCastedDownOrUp ( modelClassName,
castedDownModelClassName,
onTableAliasName 
) [protected]
Parameters:
$modelClassName 
$castedDownModelClassName 
$onTableAliasName 
Returns:
null|string

Definition at line 666 of file ModelJoinBuilder.php.

processLeftJoinsForAttributeThatIsCastedDown ( modelClassName,
castedDownModelClassName,
onTableAliasName 
) [protected]
Parameters:
$modelClassName 
$castedDownModelClassName 
$onTableAliasName 
Returns:
null|string

Definition at line 702 of file ModelJoinBuilder.php.

resolveModelDerivationPathToItemForCastingDown ( modelClassName,
castedDownModelClassName 
) [protected]
Parameters:
$modelClassName 
$castedDownModelClassName 
Returns:
array

Definition at line 730 of file ModelJoinBuilder.php.

static resolveModelClassNameThatCanHaveTable ( modelClassName,
castedDownModelClassName 
) [static, protected]
Parameters:
$modelClassName 
$castedDownModelClassName 
Returns:
mixed
Exceptions:
NotSupportedException 

Definition at line 756 of file ModelJoinBuilder.php.


The documentation for this class was generated from the following file:
 All Data Structures Functions Variables
Generated on Sun May 28 07:10:28 2017