I am getting empty array instead of array with some values, since SimpleObjectHydrator converts the value with convertToPHPValue
line 129 $value = $type->convertToPHPValue($value, $this->_platform);
this doesent play well with the null check below
line 134:
// Prevent overwrite in case of inherit classes using same property name (See AbstractHydrator)
if ( ! isset($data[$fieldName]) || $value !== null) {
$data[$fieldName] = $value;
}
since arrayType->convertToPHPValue returns [] when null, resulting in a leak from the wrong left joined table.
solution is easy, dont use the converted value in the if, but instead a raw value.
eg line 125 + $rawValue = $value;
and
136: if ( ! isset($data[$fieldName]) || $rawValue !== null) {
sorry I don't have time to write a pr with tests
I am getting empty array instead of array with some values, since SimpleObjectHydrator converts the value with convertToPHPValue
line 129 $value = $type->convertToPHPValue($value, $this->_platform);
this doesent play well with the null check below
line 134:
// Prevent overwrite in case of inherit classes using same property name (See AbstractHydrator)
if ( ! isset($data[$fieldName]) || $value !== null) {
$data[$fieldName] = $value;
}
since arrayType->convertToPHPValue returns [] when null, resulting in a leak from the wrong left joined table.
solution is easy, dont use the converted value in the if, but instead a raw value.
eg line 125 + $rawValue = $value;
and
136: if ( ! isset($data[$fieldName]) || $rawValue !== null) {
sorry I don't have time to write a pr with tests