DatabaseRelationCalculator
in package
implements
CalculatorInterface
Table of Contents
Interfaces
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
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>