Bravo3\Orm\Services\RelationshipManager::invertRelationship PHP Method

invertRelationship() public method

Returns the inverse equivalent of a given relationship
public invertRelationship ( Relationship $relationship ) : Relationship
$relationship Bravo3\Orm\Mappers\Metadata\Relationship
return Bravo3\Orm\Mappers\Metadata\Relationship
    public function invertRelationship(Relationship $relationship)
    {
        if (!$relationship->getInversedBy()) {
            throw new InvalidArgumentException('Relationship "' . $relationship->getName() . '" is not inversed');
        }
        $metadata = $this->getMapper()->getEntityMetadata($relationship->getTarget());
        $inverse = $metadata->getRelationshipByName($relationship->getInversedBy());
        if (!$inverse) {
            throw new InvalidEntityException('Relationship "' . $relationship->getName() . '" inverse side "' . $relationship->getInversedBy() . '" cannot be not found');
        }
        return $inverse;
    }