public function convertToPHPValues($entityName, array $data)
{
$phpData = [];
$fields = $entityName::fields();
$fieldAliasMappings = $this->entityManager()->fieldAliasMappings();
$platform = $this->connection()->getDatabasePlatform();
$entityData = array_intersect_key($data, $fields);
foreach ($data as $field => $value) {
if ($fieldAlias = array_search($field, $fieldAliasMappings)) {
$field = $fieldAlias;
}
// Field is in the Entity definitions
if (isset($entityData[$field])) {
$typeHandler = Type::getType($fields[$field]['type']);
$phpData[$field] = $typeHandler->convertToPHPValue($value, $platform);
// Extra data returned with query (like calculated valeus, etc.)
} else {
$phpData[$field] = $value;
}
}
return $phpData;
}