вот проблемы красная подсветка: проблемы (я думаю) синяя подсветка: работает правильно
и это текущая проблема, с которой я сталкиваюсь Текущая ситуация список меток не отображал значение метки результата выборки из таблицы базы данных
истинное представление списка меток должно быть таким введите описание изображения здесь пример: a - значение из результата выборкииз базы данных
после добавления этого $ fetch_label = array (); * выделение желтого цвета, как на изображении, которое я даю, показывает значение метки без категории, но другая метка, которую я добавил ранее, не показывала ее простопоказывает пустой ярлык, пожалуйста, помогите мне. мой полный предварительный просмотр кода
elseif ($request == 'get_notifications') {
if ($auth) {
if (getdb()) {
$db = pg_connect($conn_string);
$get_notifications = pg_prepare($db, "get_notifications", "select n.*, coalesce(lbl.labelname, 'Uncategorized') as labelname from public.notifications n
left join (
select * from public.notif_label nl
inner join public.label l on (nl.id_lbl = l.id and l.id_user = $1)
) lbl on (lbl.id_notif = n.id_notif)
where n.userid = $2 AND n.isdeleted = false AND n.notificationdate >= DATE(NOW()) - INTERVAL '7' DAY
ORDER BY n.notificationdate desc");
$get_notifications = pg_execute($db, "get_notifications", array($auth->id, $auth->id));
$fetch_notif = pg_fetch_all($get_notifications);
$map_date = array_map(function($o) { return substr($o['notificationdate'], 0, 10); }, $fetch_notif);
$unique_date = array_unique($map_date);
$fetch_label = array();
$get_user_label = pg_prepare($db, "get_user_label", "SELECT id, labelname FROM public.label WHERE id_user = $1");
$get_user_label = pg_execute($db, "get_user_label", array($auth->id));
$label_result = pg_fetch_all($get_user_label);
if ($label_result) {
array_push($fetch_label, $label_result);
}
array_push($fetch_label, array('id' => 9999, 'labelname' => 'Uncategorized'));
$transformed_results = array();
foreach ($unique_date as $header) {
$labelList = array();
foreach ($fetch_label as $label) {
$notifs = array_values(array_filter($fetch_notif, function($elem) use($header, $label){
return (substr($elem['notificationdate'], 0, 10) == $header && $elem['labelname'] == $label['labelname']);
}));
array_push($labelList, array('labelname' => $label['labelname'], 'expanded' => false, 'notifs' => $notifs));
}
array_push($transformed_results, array('key' => $header, 'expanded' => false, 'labelList' => $labelList));
}
$notifications = json_encode(array('notifications' => $transformed_results));
pg_close();
echo $notifications;
} else {
echo "Connection failed";
}
} else {
echo "Not authorized";
}
}