но при попытке изменить/удалить выскакивает подобная ошибка:
update or delete on table "agents" violates foreign key constraint ...?
Потому что удаление сущности из agents запрещено по правилу связи. Нужно сначала удалить все ссылки на эту сущность в других таблицах. Правило связи таблиц простое: При добавлении записи кладешь независимую сущность, а потом все, что на нее ссылаются А при удалении: сначала удаляешь ссылающиеся сущности, а потом независимую
Благодарю за ответ! Получается, если у меня для агента есть 2 уровня вложенности, то и для полного обновления и удаления записи "агент", необходимо делать еще дополнительно 2 операции с вложенными данными?
Ну можно за 1 Просто удалить за раз все, что связано с агентом
Покажи пожалуйста пример, как это можно сделать?
Кстати, если тебе при удалении все нужно удалять, то ты можешь on delete clause указать, чтобы записи автоматом удалялись и не придется вручную. В связи это укажи, когда создаешь
onDelete: 'cascade', ?
Обычно пишу cascade: true, onDelete: 'CASCADE', а дальше уже комбинирую как сработает: то на одну сторону связи, то на другую. Метод странный, но рабочий, никак не запомню, как работает, ахах
Обсуждают сегодня