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

This commit is contained in:
raviks789 2024-08-27 16:16:03 +02:00 committed by Johannes Meyer
parent 9919b65fc5
commit 9e1646091c
1 changed files with 7 additions and 1 deletions

View File

@ -89,6 +89,12 @@ class CustomVarRenderer extends CustomVarRendererHook
}
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(
['dds' => 'director_datafield_setting'],
[
@ -98,7 +104,7 @@ class CustomVarRenderer extends CustomVarRendererHook
]
)->join(
['dde' => 'director_datalist_entry'],
'dds.setting_value = dde.list_id',
$joinCondition,
[]
)->where('dds.datafield_id', array_keys($fieldsWithDataLists))
->where('dds.setting_name', 'datalist_id');