У меня 3 стола. Одна из них представляет собой таблицу отношений, в которой хранятся отношения двух других. Courses
, Staff
и Courses-staff
(это таблица отношений). В моей таблице Courses не было первичного ключа, поэтому я хочу, чтобы Rails помог мне установить его (id
). Но когда я импортирую эти данные из xml в свои таблицы sqlite, я не знаю id
каждой записи в моей таблице курсов. Как я могу сохранить первичные ключи этих двух таблиц в моей таблице "Courses-staff
"??
(Ruby on Rails) Как импортировать некоторые данные из xml в таблицу отношений?
comment
Если в вашей таблице «Курсы» не было первичного ключа, какой тип ссылки вы храните в таблице «Курсы-Персонал»?
- person Martin Velez   schedule 05.07.2013
comment
Как выглядит ваша схема? Как выглядит XML? Что вы пробовали?
- person Mark Thomas   schedule 05.07.2013
Ответы (1)
Вы на самом деле не объясняете, что вы пробовали, поэтому никому сложно ответить на вопрос. Если ваш XML сформулирован следующим образом:
<course>
<something>bla</something>
<somethingElse>blabla</somethingElse>
<staffIDs>
<staffID>124233</staffID>
<staffID>123532</staffID>
</staff>
</course>
<staff>
<staffMember>
<staffID>124233</staffID>
<staffName>Jim</staffName>
</staffMember>
<staffMember>
<staffID>123532</staffID>
<staffName>Sophia</staffName>
</staffMember>
</staff>
Затем убедитесь, что вы сначала разбираете и создаете Staff, а затем, когда вы разбираете курсы, вы можете сделать что-то вроде (псевдокод):
courses.each do |c|
# ...
staffIDs.each do |s|
@course.staff << Staff.find_by_external_id(s)
end
end
person
Mike Campbell
schedule
05.07.2013