PHP Class Storm\Drivers\Base\Relational\Relations\JoinTableRelation

Inheritance: extends ToManyRelationBase
Show file Open project: timetoogo/penumbra

Public Methods

Method Description
AddConstraintToRequest ( Request $Request )
AddParentPredicateToRequest ( Request $Request, array $ParentRows )
GetJoinTable ( ) : JoinTable
GetOtherForeignKey ( ) : ForeignKey
GetRelationalParentColumns ( )
MapRelationalParentDataToRelatedData ( ColumnData $ParentRow, ColumnData $RelatedRow )
Persist ( Transaction $Transaction, ResultRow $ParentData, array $RelationshipChanges )
__construct ( JoinTable $JoinTable, $RelatesToTableTwo = true )

Protected Methods

Method Description
GroupRelatedRowsByParentKeys ( array &$MappedRelatedRows, ForeignKey $ForeignKey, array $ParentRows, array $RelatedRows )
MapParentRowToRelatedKey ( ForeignKey $ForeignKey, ResultRow $ParentRow )
ParentTable ( ForeignKey $ForeignKey )
PersistIdentifyingRelationship ( Transaction $Transaction, ResultRow $ParentRow, array $ChildRows )
RelatedColumns ( ForeignKey $ForeignKey )

Private Methods

Method Description
MapDiscardedRelationshipToJoinRow ( DiscardedRelationship $Relationship )
MapPersistedRelationshipToJoinRow ( PersistedRelationship $Relationship )
MapRelationshipToJoinRow ( $Relationship )

Method Details

AddConstraintToRequest() public method

public AddConstraintToRequest ( Request $Request )
$Request Storm\Core\Relational\Request

AddParentPredicateToRequest() public method

public AddParentPredicateToRequest ( Request $Request, array $ParentRows )
$Request Storm\Core\Relational\Request
$ParentRows array

GetJoinTable() final public method

final public GetJoinTable ( ) : JoinTable
return JoinTable

GetOtherForeignKey() final public method

final public GetOtherForeignKey ( ) : ForeignKey
return Storm\Drivers\Base\Relational\Traits\ForeignKey

GetRelationalParentColumns() public method

GroupRelatedRowsByParentKeys() protected method

protected GroupRelatedRowsByParentKeys ( array &$MappedRelatedRows, ForeignKey $ForeignKey, array $ParentRows, array $RelatedRows )
$MappedRelatedRows array
$ForeignKey Storm\Drivers\Base\Relational\Traits\ForeignKey
$ParentRows array
$RelatedRows array

MapParentRowToRelatedKey() protected method

protected MapParentRowToRelatedKey ( ForeignKey $ForeignKey, ResultRow $ParentRow )
$ForeignKey Storm\Drivers\Base\Relational\Traits\ForeignKey
$ParentRow Storm\Core\Relational\ResultRow

MapRelationalParentDataToRelatedData() public method

public MapRelationalParentDataToRelatedData ( ColumnData $ParentRow, ColumnData $RelatedRow )
$ParentRow Storm\Core\Relational\ColumnData
$RelatedRow Storm\Core\Relational\ColumnData

ParentTable() protected method

protected ParentTable ( ForeignKey $ForeignKey )
$ForeignKey Storm\Drivers\Base\Relational\Traits\ForeignKey

Persist() public method

public Persist ( Transaction $Transaction, ResultRow $ParentData, array $RelationshipChanges )
$Transaction Storm\Core\Relational\Transaction
$ParentData Storm\Core\Relational\ResultRow
$RelationshipChanges array

PersistIdentifyingRelationship() protected method

protected PersistIdentifyingRelationship ( Transaction $Transaction, ResultRow $ParentRow, array $ChildRows )
$Transaction Storm\Core\Relational\Transaction
$ParentRow Storm\Core\Relational\ResultRow
$ChildRows array

RelatedColumns() protected method

protected RelatedColumns ( ForeignKey $ForeignKey )
$ForeignKey Storm\Drivers\Base\Relational\Traits\ForeignKey

__construct() public method

public __construct ( JoinTable $JoinTable, $RelatesToTableTwo = true )
$JoinTable JoinTable