EventsTable
extends BaseTable
in package
Manages award event data for ceremony coordination, temporal validation, and recommendation workflow integration.
Handles event creation, temporal windows for recommendation processing, and integration with the awards lifecycle. Uses soft deletion and tracks user modifications for audit trail support.
See /docs/5.2.1-awards-events-table.md for complete documentation.
Tags
Table of Contents
Constants
- CACHE_GROUPS_TO_CLEAR = []
- CACHES_TO_CLEAR = []
- ID_CACHES_TO_CLEAR = []
Properties
- $Branches : BranchesTable|BelongsTo
- $Footprint : FootprintBehavior|Behavior
- $Recommendations : RecommendationsTable|BelongsToMany
- $RecommendationsToGive : RecommendationsTable|HasMany
- $Timestamp : TimestampBehavior|Behavior
- $Trash : TrashBehavior|Behavior
Methods
- addBranchScopeQuery() : SelectQuery
- Add branch scope filtering to query.
- afterDelete() : void
- After delete hook to capture impersonation audit trail entries.
- afterSave() : void
- After-save handler for automatic cache invalidation.
- buildRules() : RulesChecker
- Business rules for organizational integrity validation.
- deleteMany() : iterable<string|int, Event>|ResultSetInterface<string|int, Event>|false
- deleteManyOrFail() : iterable<string|int, Event>
- findOrCreate() : Event
- get() : Event
- initialize() : void
- Initialize table settings, associations, and behaviors.
- newEmptyEntity() : Event
- newEntities() : array<string|int, Event>
- newEntity() : Event
- patchEntities() : array<string|int, Event>
- patchEntity() : Event
- save() : Event|false
- saveMany() : iterable<string|int, Event>|ResultSetInterface<string|int, Event>|false
- saveManyOrFail() : iterable<string|int, Event>|ResultSetInterface<string|int, Event>
- saveOrFail() : Event
- validationDefault() : Validator
- Default validation rules for event data.
- logImpersonationAction() : void
- Record impersonated writes to audit log table.
Constants
CACHE_GROUPS_TO_CLEAR
protected
array<string|int, string>
CACHE_GROUPS_TO_CLEAR
= []
Cache groups to clear entirely on save
CACHES_TO_CLEAR
protected
array<string|int, array{string, string}>
CACHES_TO_CLEAR
= []
Static cache entries to clear on save
ID_CACHES_TO_CLEAR
protected
array<string|int, array{string, string}>
ID_CACHES_TO_CLEAR
= []
Entity-ID cache prefixes to clear on save
Properties
$Branches
public
BranchesTable|BelongsTo
$Branches
$Footprint
public
FootprintBehavior|Behavior
$Footprint
$Recommendations
public
RecommendationsTable|BelongsToMany
$Recommendations
$RecommendationsToGive
public
RecommendationsTable|HasMany
$RecommendationsToGive
$Timestamp
public
TimestampBehavior|Behavior
$Timestamp
$Trash
public
TrashBehavior|Behavior
$Trash
Methods
addBranchScopeQuery()
Add branch scope filtering to query.
public
addBranchScopeQuery(SelectQuery $query, array<string|int, mixed> $branchIDs) : SelectQuery
Applies organizational access control by filtering events to authorized branches. Returns unmodified query if branch IDs array is empty.
Parameters
- $query : SelectQuery
-
The query to modify with branch scoping
- $branchIDs : array<string|int, mixed>
-
Array of branch IDs for organizational scoping
Return values
SelectQuery —Modified query with branch filtering applied
afterDelete()
After delete hook to capture impersonation audit trail entries.
public
afterDelete(EventInterface $event, EntityInterface $entity, ArrayObject $options) : void
Parameters
- $event : EventInterface
-
Delete event
- $entity : EntityInterface
-
Entity being deleted
- $options : ArrayObject
-
Delete options
afterSave()
After-save handler for automatic cache invalidation.
public
afterSave(EventInterface $event, EntityInterface $entity, ArrayObject $options) : void
Parameters
- $event : EventInterface
-
The afterSave event
- $entity : EntityInterface
-
The saved entity
- $options : ArrayObject
-
Save options
buildRules()
Business rules for organizational integrity validation.
public
buildRules(RulesChecker $rules) : RulesChecker
Enforces branch existence rule to prevent orphaned events.
Parameters
- $rules : RulesChecker
-
The rules object to be modified.
Return values
RulesCheckerdeleteMany()
public
deleteMany(iterable<string|int, mixed> $entities[, array<string|int, mixed> $options = = '[]' ]) : iterable<string|int, Event>|ResultSetInterface<string|int, Event>|false
Parameters
- $entities : iterable<string|int, mixed>
- $options : array<string|int, mixed> = = '[]'
Return values
iterable<string|int, Event>|ResultSetInterface<string|int, Event>|falsedeleteManyOrFail()
public
deleteManyOrFail(iterable<string|int, mixed> $entities[, array<string|int, mixed> $options = = '[]' ]) : iterable<string|int, Event>
Parameters
- $entities : iterable<string|int, mixed>
- $options : array<string|int, mixed> = = '[]'
Return values
iterable<string|int, Event>findOrCreate()
public
findOrCreate(mixed $search[, callable|null $callback = = 'null' ][, array<string|int, mixed> $options = = '[]' ]) : Event
Parameters
- $search : mixed
- $callback : callable|null = = 'null'
- $options : array<string|int, mixed> = = '[]'
Return values
Eventget()
public
get(mixed $primaryKey[, array<string|int, mixed>|string $finder = = '\'all\'' ][, CacheInterface|string|null $cache = = 'null' ][, Closure|string|null $cacheKey = = 'null' ], mixed ...$args) : Event
Parameters
- $primaryKey : mixed
- $finder : array<string|int, mixed>|string = = '\'all\''
- $cache : CacheInterface|string|null = = 'null'
- $cacheKey : Closure|string|null = = 'null'
- $args : mixed
Return values
Eventinitialize()
Initialize table settings, associations, and behaviors.
public
initialize(array<string, mixed> $config) : void
Configures database table mapping, branch/recommendation relationships, and behaviors for timestamp tracking, user accountability, and soft deletion.
Parameters
- $config : array<string, mixed>
-
The configuration for the Table.
newEmptyEntity()
public
newEmptyEntity() : Event
Return values
EventnewEntities()
public
newEntities(array<string|int, mixed> $data[, array<string|int, mixed> $options = = '[]' ]) : array<string|int, Event>
Parameters
- $data : array<string|int, mixed>
- $options : array<string|int, mixed> = = '[]'
Return values
array<string|int, Event>newEntity()
public
newEntity(array<string|int, mixed> $data[, array<string|int, mixed> $options = = '[]' ]) : Event
Parameters
- $data : array<string|int, mixed>
- $options : array<string|int, mixed> = = '[]'
Return values
EventpatchEntities()
public
patchEntities(iterable<string|int, mixed> $entities, array<string|int, mixed> $data[, array<string|int, mixed> $options = = '[]' ]) : array<string|int, Event>
Parameters
- $entities : iterable<string|int, mixed>
- $data : array<string|int, mixed>
- $options : array<string|int, mixed> = = '[]'
Return values
array<string|int, Event>patchEntity()
public
patchEntity(EntityInterface $entity, array<string|int, mixed> $data[, array<string|int, mixed> $options = = '[]' ]) : Event
Parameters
- $entity : EntityInterface
- $data : array<string|int, mixed>
- $options : array<string|int, mixed> = = '[]'
Return values
Eventsave()
public
save(EntityInterface $entity[, array<string|int, mixed> $options = = '[]' ]) : Event|false
Parameters
- $entity : EntityInterface
- $options : array<string|int, mixed> = = '[]'
Return values
Event|falsesaveMany()
public
saveMany(iterable<string|int, mixed> $entities[, array<string|int, mixed> $options = = '[]' ]) : iterable<string|int, Event>|ResultSetInterface<string|int, Event>|false
Parameters
- $entities : iterable<string|int, mixed>
- $options : array<string|int, mixed> = = '[]'
Return values
iterable<string|int, Event>|ResultSetInterface<string|int, Event>|falsesaveManyOrFail()
public
saveManyOrFail(iterable<string|int, mixed> $entities[, array<string|int, mixed> $options = = '[]' ]) : iterable<string|int, Event>|ResultSetInterface<string|int, Event>
Parameters
- $entities : iterable<string|int, mixed>
- $options : array<string|int, mixed> = = '[]'
Return values
iterable<string|int, Event>|ResultSetInterface<string|int, Event>saveOrFail()
public
saveOrFail(EntityInterface $entity[, array<string|int, mixed> $options = = '[]' ]) : Event
Parameters
- $entity : EntityInterface
- $options : array<string|int, mixed> = = '[]'
Return values
EventvalidationDefault()
Default validation rules for event data.
public
validationDefault(Validator $validator) : Validator
Validates event name, description, branch association, and temporal fields. Ensures organizational scoping and proper temporal window configuration.
Parameters
- $validator : Validator
-
Validator instance.
Return values
ValidatorlogImpersonationAction()
Record impersonated writes to audit log table.
protected
logImpersonationAction(string $defaultOperation, EntityInterface $entity) : void
Parameters
- $defaultOperation : string
-
Operation fallback (save/delete)
- $entity : EntityInterface
-
Affected entity