CoolCMS API

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
template

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>|null

save()

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
Result

updateColumns()

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
Result

getEntityClass()

protected abstract getEntityClass() : class-string
Return values
class-string

saveWithoutCache()

Save entity to database via Mapper.

protected saveWithoutCache(BaseEntity $entity[, array<int, string> $skipFields = [] ]) : Result
Parameters
$entity : BaseEntity
$skipFields : array<int, string> = []
Return values
Result

updateColumnsWithoutCache()

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>
Return values
Result
On this page

Search results