SaveTrait
Save/update operations.
Cache invalidation happens in the manager layer after commit (tag bump per entity class). The service only writes through the mapper; it never invalidates inside the transaction, which would leave uncommitted data in the cache.
Tags
Table of Contents
Methods
- findRelatedIds() : array<int, int>|null
- Returns ids of target entities linked to the parent through the relation collection (see the mapper).
- save() : Result
- Save entity.
- saveAll() : Result
- Save multiple entities at once.
- updateAllRelations() : Result
- Update all relations of parent entity with given values.
- updateColumns() : Result
- Update specific columns.
- updateRelations() : Result
- Update existing relation entities via Mapper.
- getEntityClass() : class-string
- saveWithoutCache() : Result
- Save entity to database via Mapper.
- updateColumnsWithoutCache() : Result
- Update columns in database via Mapper.
Methods
findRelatedIds()
Returns ids of target entities linked to the parent through the relation collection (see the mapper).
public
findRelatedIds(int $parentId, string $property, string $targetAssociation) : array<int, int>|null
Parameters
- $parentId : int
- $property : string
- $targetAssociation : string
Return values
array<int, int>|nullsave()
Save entity.
public
save(TEntity $entity[, array<int, string> $skipFields = [] ]) : Result
Parameters
- $entity : TEntity
-
Entity to save
- $skipFields : array<int, string> = []
-
Field names to skip during UPDATE
Return values
Result —Success/error result
saveAll()
Save multiple entities at once.
public
saveAll(array<string|int, TEntity> $entities) : Result
Parameters
- $entities : array<string|int, TEntity>
-
Array of entities to save
Return values
Result —Success with saved count, or Error
updateAllRelations()
Update all relations of parent entity with given values.
public
updateAllRelations(array<string|int, mixed> $entityIds, string $property, array<string, mixed> $values) : Result
Parameters
- $entityIds : array<string|int, mixed>
- $property : string
- $values : array<string, mixed>
Return values
ResultupdateColumns()
Update specific columns.
public
updateColumns(array<string|int, mixed> $entityIds, array<string, mixed> $values) : Result
Parameters
- $entityIds : array<string|int, mixed>
-
Entity IDs (scalar or composite-id arrays)
- $values : array<string, mixed>
-
Column values to update (property name => value)
Return values
Result —Success/error result
updateRelations()
Update existing relation entities via Mapper.
public
updateRelations(array<string|int, mixed> $entityIds, string $property, array<string|int, object> $relationEntities) : Result
Parameters
- $entityIds : array<string|int, mixed>
- $property : string
- $relationEntities : array<string|int, object>
Return values
ResultgetEntityClass()
protected
abstract getEntityClass() : class-string
Return values
class-stringsaveWithoutCache()
Save entity to database via Mapper.
protected
saveWithoutCache(BaseEntity $entity[, array<int, string> $skipFields = [] ]) : Result
Parameters
- $entity : BaseEntity
- $skipFields : array<int, string> = []
Return values
ResultupdateColumnsWithoutCache()
Update columns in database via Mapper.
protected
updateColumnsWithoutCache(array<string|int, mixed> $entityIds, array<string, mixed> $values) : Result
Parameters
- $entityIds : array<string|int, mixed>
- $values : array<string, mixed>