РЕДАКТИРОВАТЬ : я поменял структурную реализацию, но моя проблема осталась прежней;т.е. сначала создайте объект Publication (, если он еще не существует ), прежде чем создавать запись SvcRequest.
Мне дали базу данных, которую мне пришлось "исправить", и я весьма озадаченконкретная проблема.Для простоты у нас есть две таблицы (следствия), которые уже существовали.Мне потребовалось некоторое время, чтобы выяснить отношения между этими двумя понятиями, и, в конечном итоге, я решил использовать традиционную соединительную таблицу следующим образом:
Publications (id, SvcReqID, LogID)
/ \
/ \
SvcRequest (id) SvcProgressLog (id)
SvcRequest и SvcProgressLog - более или менее родственные таблицы, каждая из которых содержит ссылку на родителя.Существует такой странный иерархический тип отношений, который мне потребовалось некоторое время, чтобы разобраться, теперь мне просто нужен способ присоединиться к ним, который облегчает выполнение операций CRUD.
Процесс здесь следующий:
- Приходит запрос на обслуживание публикации.
- Если Публикация существует -> обновить соответствующую запись Публикации.Если нет, создайте новую публикацию.После этого создайте запись SvcRequest из информации, полученной из веб-формы. (здесь требуется помощь)
- Наконец, можно создать запись в журнале для запросов, которые существуют, но еще не зарегистрированы.
Существуют следующие отношения:
- Публикации -> SvcRequest :: 1 -> Многие
- Публикации -> SvcProgressLog :: 1 -> Многие
- SvcRequest -> SvcProgressLog :: Many -> Many (-ish)
Как всегда, я очень ценю помощь и слова мудрости;) よ ろ し く