Приложение справки/поддержки, созданное с помощью Zend Framework 1 и Doctrine 1.2.4.Doctrine - предотвратить новый INSERT в связанных таблицах
Проблема: при создании нового билета поддержки без назначения staff_id
(вспомогательного персонала) в первом, Doctrine вставляет пустую строку в таблице staff
, потому что staff_id
является NULL, а не соответствие значения id
с NULL
может быть найдено в staff
таблицы.
Новый билет будет создан, значение NULL примечания для staff_id
INSERT INTO tickets (closable, emergency, survey_sent, brands_id, departments_id, categories_id, status_id, staff_id, subject, contacts_id, mask, initial_categories_id, last_opened, last_activity, created_at, updated_at) VALUES ('0', '1', '0', '1', '4', '6', '1', NULL, 'Cancellation Request', '5463', 'MQXB-39568', '6', '2012-06-14 03:15:49', '2012-06-14 03:15:49', '2012-06-14 03:15:49', '2012-06-14 03:15:49')
новой строки в таблице staff
со значениями по умолчанию, которые это проблема.
INSERT INTO staff (enable_dst, last_page, external_links, replies_per_page, active) VALUES ('1', '0', '0', '10', '1')
дикий запрос появляется
DELETE FROM staff_index WHERE (id = '197')
и теперь ticket_posts
таблицы (пост = персонал примечания) обновляются с вновь вставленным билетом ID, и вновь вставить пустую строку в staff
таблице (staff_id
должен быть NULL здесь)
UPDATE ticket_posts SET tickets_id = '12455', staff_id = '197', updated_at = '2012-06-14 03:15:49' WHERE id = '48113'
Я «решена» пустые строки, установив второй столбец (имя пользователя) не нулевой, но не реальное решение.
Есть ли способ рассказать Доктрине, здесь нечего делать, двигаться дальше?
(^ нижняя строка)
Покажите нам код вашей вставки – j0k
@ j0k в основном '$ new_ticket = новые билеты(); $ new_ticket-> fromArray ($ formData); '... –