Я работаю над модулем, который напрямую обновляет данные набора флажков таксономии CCK через ajax.
Все работает, за исключением сохранения в базе данных. Используя следующий код:
$data = array(
'vid' => $nid,
'nid' => $nid,
'field_grouping_value' => $tid
);
drupal_write_record('content_field_grouping', $data);
Я получаю сообщения об ошибках, в которых говорится, что я дублирую значение поля «delta». Моя проблема в том, что код пытается записать мои новые данные, но дельта-поле - это объединенный ключ, который не увеличивает автоматически.
Обычно, я бы просто увеличивал поле дельты, но Drupal обрабатывает его так динамично, что я боюсь, что принесу больше вреда, чем пользы:
![screen shot of database table with delta field](https://i.stack.imgur.com/Q1Swq.gif)
http://i.stack.imgur.com/yTwoN.gif">
Если у nid 3 было другое поле на изображении выше, его поле delta будет иметь значение 2. Затем я удаляю поле с nid 3 и delta 0. Вместо того, чтобы оставить поле delta значения 1 и 2, все сбрасывается на 0 и 1
Просто чтобы я не повредил свой сайт, мне интересно, кто-нибудь может посоветовать, как мне решить эту проблему и заставить Drupal динамически обрабатывать поле delta ..... или это не нужно?