Monitoring/CustomVarRenderer: Cast data field setting value data_list_id to integer for postgres database

This commit is contained in:
raviks789 2024-08-27 17:10:10 +02:00 committed by Johannes Meyer
parent 1d98492429
commit b7ea8aada6

View File

@ -109,6 +109,12 @@ class CustomVarRenderer extends CustomVarRendererHook
} }
if (! empty($fieldsWithDataLists)) { if (! empty($fieldsWithDataLists)) {
if ($this->db()->getDbType() === 'pgsql') {
$joinCondition = 'CAST(dds.setting_value AS INTEGER) = dde.list_id';
} else {
$joinCondition = 'dds.setting_value = dde.list_id';
}
$dataListEntries = $db->select()->from( $dataListEntries = $db->select()->from(
['dds' => 'director_datafield_setting'], ['dds' => 'director_datafield_setting'],
[ [
@ -118,7 +124,7 @@ class CustomVarRenderer extends CustomVarRendererHook
] ]
)->join( )->join(
['dde' => 'director_datalist_entry'], ['dde' => 'director_datalist_entry'],
'dds.setting_value = dde.list_id', $joinCondition,
[] []
)->where('dds.datafield_id', array_keys($fieldsWithDataLists)) )->where('dds.datafield_id', array_keys($fieldsWithDataLists))
->where('dds.setting_name', 'datalist_id'); ->where('dds.setting_name', 'datalist_id');