KMP PHP API Reference

RecommendationQueryService
in package

Builds configured ORM queries and grid-processing option arrays for recommendation grids.

Centralises the query-construction and option-building logic shared by the main grid, member-submitted, and recs-for-member grid endpoints. The controller retains responsibility for authorization, view-variable assignment, and template rendering.

Tags
see
RecommendationsController::gridData()
RecommendationsController::memberSubmittedRecsGridData()
RecommendationsController::recsForMemberGridData()

Table of Contents

Methods

applyHiddenStateVisibility()  : SelectQuery
Apply hidden-state visibility constraints to a recommendations query.
buildMainGridQuery()  : SelectQuery, gridOptions: array}
Build the base query and grid options for the main recommendations index.
buildMemberSubmittedQuery()  : SelectQuery, gridOptions: array}
Build the base query and grid options for the member-submitted recommendations grid.
buildRecsForMemberQuery()  : SelectQuery, gridOptions: array}
Build the base query and grid options for the recs-for-member grid.
recommendationBulkSelectionConfig()  : array<string, string>
Return accessible labels for recommendation bulk selection controls.
recommendationSelectFields()  : array<int, string>|null
Select high-traffic grid fields while skipping large text fields when hidden.
shouldLoadDisplayColumn()  : bool
Determine whether a display-only association should be loaded.

Methods

applyHiddenStateVisibility()

Apply hidden-state visibility constraints to a recommendations query.

public applyHiddenStateVisibility(SelectQuery $query, bool $canViewHidden) : SelectQuery
Parameters
$query : SelectQuery

Recommendations query.

$canViewHidden : bool

Whether hidden rows may be included.

Return values
SelectQuery

buildMainGridQuery()

Build the base query and grid options for the main recommendations index.

public buildMainGridQuery(Table $recommendationsTable, bool $canEdit[, bool $includeNotes = true ][, array<int, string>|null $visibleColumns = null ]) : SelectQuery, gridOptions: array}
Parameters
$recommendationsTable : Table

The Recommendations ORM table.

$canEdit : bool

Whether the current user can edit recommendations (enables bulk actions).

$includeNotes : bool = true

Whether notes relations should be loaded for list rendering.

$visibleColumns : array<int, string>|null = null

Resolved visible columns, or null when all display data is required.

Return values
SelectQuery, gridOptions: array}

Base query and processDataverseGrid options.

buildMemberSubmittedQuery()

Build the base query and grid options for the member-submitted recommendations grid.

public buildMemberSubmittedQuery(Table $recommendationsTable, int $memberId[, array<string|int, mixed>|null $visibleColumns = null ]) : SelectQuery, gridOptions: array}
Parameters
$recommendationsTable : Table

The Recommendations ORM table.

$memberId : int

The requester member ID to filter by.

$visibleColumns : array<string|int, mixed>|null = null
Return values
SelectQuery, gridOptions: array}

Base query and processDataverseGrid options.

buildRecsForMemberQuery()

Build the base query and grid options for the recs-for-member grid.

public buildRecsForMemberQuery(Table $recommendationsTable, int $memberId[, array<string|int, mixed>|null $visibleColumns = null ]) : SelectQuery, gridOptions: array}
Parameters
$recommendationsTable : Table

The Recommendations ORM table.

$memberId : int

The subject member ID to filter by.

$visibleColumns : array<string|int, mixed>|null = null
Return values
SelectQuery, gridOptions: array}

Base query and processDataverseGrid options.

recommendationBulkSelectionConfig()

Return accessible labels for recommendation bulk selection controls.

private recommendationBulkSelectionConfig() : array<string, string>
Return values
array<string, string>

recommendationSelectFields()

Select high-traffic grid fields while skipping large text fields when hidden.

private recommendationSelectFields(array<int, string>|null $visibleColumns) : array<int, string>|null
Parameters
$visibleColumns : array<int, string>|null

Resolved visible columns; null means select all.

Return values
array<int, string>|null

shouldLoadDisplayColumn()

Determine whether a display-only association should be loaded.

private shouldLoadDisplayColumn(string $columnKey, array<int, string>|null $visibleColumns) : bool
Parameters
$columnKey : string

Grid column key backed by association data.

$visibleColumns : array<int, string>|null

Resolved visible columns; null means load all.

Return values
bool
On this page

Search results