Добавление/сравнение значений множественных полей (пользователи)
Добавлено: 08 сен 2021, 19:30
Добрый день!
Поднимал как-то тему viewtopic.php?p=19031#p19031 . Там нужно было добавлять в поле Пользователи со множественным выбором/флажками - нового пользователя из другой сущности. Т.е. не перезаписывать, а именно добавлять новое значение к уже имеющимся. Решено было через PHP поле.
Теперь проблема усложняется (для меня) - если ранее нужно было просто одно значение присоединять к другим, то это решалось просто через функцию CONCAT - т.к. значения в поле Пользователи множественного вида хранятся через запятую, просто добавляем через запятую еще одно и получаем обновленный список значений.
В данном случае нужно из одного множественного поля передать значения в другое множественное (добавить). При этом нужно добавить именно недостающие значения, т.к. в поле откуда берем значения могут быть уже данные, которые уже есть в поле, куда копируем.
Простыми словами, если взять "выборку" поля Донор (откуда копируем) из БД, то там например, будут такие ID значений:
А в поле Приемка уже имеются такие значения:
То в итоге нужно получить такое значение в поле Приемка:
, т.е. значения "10" и "12" не должны зайти/продублироваться в это поле, т.к. они там уже есть.
Как это можно реализовать? Может есть функция в php или mysql, которые удаляют дубли таких значений, или может как-то вычислять их по запятым... Вот ломаю голову как можно сделать? Может будут идеи у кого-то?
Поднимал как-то тему viewtopic.php?p=19031#p19031 . Там нужно было добавлять в поле Пользователи со множественным выбором/флажками - нового пользователя из другой сущности. Т.е. не перезаписывать, а именно добавлять новое значение к уже имеющимся. Решено было через PHP поле.
Теперь проблема усложняется (для меня) - если ранее нужно было просто одно значение присоединять к другим, то это решалось просто через функцию CONCAT - т.к. значения в поле Пользователи множественного вида хранятся через запятую, просто добавляем через запятую еще одно и получаем обновленный список значений.
В данном случае нужно из одного множественного поля передать значения в другое множественное (добавить). При этом нужно добавить именно недостающие значения, т.к. в поле откуда берем значения могут быть уже данные, которые уже есть в поле, куда копируем.
Простыми словами, если взять "выборку" поля Донор (откуда копируем) из БД, то там например, будут такие ID значений:
Код: Выделить всё
10,11,12,13Код: Выделить всё
8,9,10,12Код: Выделить всё
8,9,10,11,12,13Как это можно реализовать? Может есть функция в php или mysql, которые удаляют дубли таких значений, или может как-то вычислять их по запятым... Вот ломаю голову как можно сделать? Может будут идеи у кого-то?