Bånder

DatabaseRelationCalculator
in package
implements CalculatorInterface

Table of Contents

Interfaces

CalculatorInterface

Methods

calculate()  : array<string|int, mixed>
Calculate recommendations based on database relationships
applyFilter()  : void
Apply a filter to the database query
calculateCoOccurrenceRecommendations()  : array<string|int, mixed>
Calculate recommendations based on co-occurrence in groups
validateConfiguration()  : void
Validate that required configuration parameters are present

Methods

calculate()

Calculate recommendations based on database relationships

public calculate(mixed $sourceData, array<string|int, mixed> $configuration) : array<string|int, mixed>
Parameters
$sourceData : mixed

Source model(s) to calculate recommendations for

$configuration : array<string|int, mixed>

Configuration parameters for calculation

Tags
throws
InvalidArgumentException
Return values
array<string|int, mixed>

Array of recommendations [sourceId => [targetId => score]]

applyFilter()

Apply a filter to the database query

private applyFilter(Builder $query, string $field, mixed $filterConfig) : void
Parameters
$query : Builder
$field : string
$filterConfig : mixed

calculateCoOccurrenceRecommendations()

Calculate recommendations based on co-occurrence in groups

private calculateCoOccurrenceRecommendations(array<string|int, mixed> $groupedData, int $maxRecommendations) : array<string|int, mixed>
Parameters
$groupedData : array<string|int, mixed>
$maxRecommendations : int
Return values
array<string|int, mixed>

validateConfiguration()

Validate that required configuration parameters are present

private validateConfiguration(array<string|int, mixed> $configuration) : void
Parameters
$configuration : array<string|int, mixed>
Tags
throws
InvalidArgumentException

        
On this page

Search results