Skip to content

Relation Repository

Manage relations between records. The resource type is idsfromrelation.

Querying

php
use Innobrain\OnOfficeAdapter\Enums\OnOfficeRelationType;
use Innobrain\OnOfficeAdapter\Facades\RelationRepository;

// Get contact persons for estate
$contacts = RelationRepository::query()
    ->relationType(OnOfficeRelationType::ContactPersonAll)
    ->parentIds([48])
    ->get();

// Get estates for owner
$estates = RelationRepository::query()
    ->relationType(OnOfficeRelationType::Owner)
    ->childIds([1234])
    ->get();

addParentIds() and addChildIds() append to the already set ids instead of replacing them.

Chunked Processing

php
RelationRepository::query()
    ->relationType(OnOfficeRelationType::ContactPersonAll)
    ->parentIds([48])
    ->each(function (array $relations) {
        // Process chunk
    });

Creating

php
RelationRepository::query()
    ->relationType(OnOfficeRelationType::Buyer)
    ->parentIds([48])
    ->childIds([181])
    ->create();

Relation Types

EnumDescription
BuyerBuyer of estate
TenantRenter/tenant
OwnerOwner of estate
TipsterTipster for estate
ProspectiveBuyerProspective buyer
ContactPersonAllAll contact persons
ContactPersonBrokerBroker contacts
EstateOfferAngebotEstates offered to address
EstateContactedEstates the address contacted
EstateMatchingEstates matching the address
EstateOfferEstate offers from agents log
ComplexEstateUnitsComplex units
AddressHierarchyContact address hierarchy

Custom URN: 'urn:onoffice-de-ns:smart:2.5:relationTypes:estate:address:buyer'

WARNING

Don't swap parentIds and childIds - the relation type determines which is which.

Released under the MIT License.