У меня есть две таблицы, nodes
и terms
.
Соответствующие поля в nodes
: nid
(первичный ключ) и value
В terms
это: value
, tid
и nid
, где value
и tid
вместе являются первичным ключом, а nid
- внешним ключом, ссылающимся на nodes.nid
.
Я хочу добавить записи в terms
. У меня есть tid
и nid
, а также value
, которые я хочу вытащить из соответствующего node
- например, найдите value
для данного nid
в node
и затем поместите его как value
в terms
.
Способ сделать это в SQL может быть следующим:
INSERT INTO terms(tid, nid, value)
values(mytid, mynid, (
select value from nodes where nid=mynid
));
Может ли кто-нибудь помочь мне сделать это с DataMapper?
class Node
include DataMapper::Resource
property :nid, Serial, :key => true
property :value, Integer
end
class Term
include DataMapper::Resource
property :tid, Integer, :key => true
# how do I define nid and value?
end
# and then what do I give to Term.new or Term.create and how?
Если бы кто-нибудь мог указать мне и на хорошее руководство по DataMapper, я был бы признателен. Я использовал их онлайн-документы, но обнаружил, что ситуации, в которых я нахожусь, редко освещаются.