protected function addToUpdateQuery(QuerySet $queries, $changes, $entity)
{
foreach ($changes as $fieldValue) {
$repo = $this->em->getRepository(get_class($fieldValue));
$field = $this->getFieldType($fieldValue->getFieldname());
$type = $field->getStorageType();
$typeCol = 'value_' . $type->getName();
$fieldValue->{$typeCol} = $fieldValue->getValue();
// This takes care of instances where an entity might be inserted, and thus not
// have an id. This registers a callback to set the id parameter when available.
$queries->onResult(function ($query, $result, $id) use($repo, $fieldValue) {
if ($result === 1) {
$repo->save($fieldValue, $silenceEvents = true);
}
});
}
}