我有两个表,nodes
和terms
。
nodes
中的相关字段为:nid
(主键)和value
在terms
中,它们是:value
,tid
和nid
,其中value
和tid
是主键,{{1}是引用nid
的外键。
我想将记录添加到nodes.nid
。我有terms
和tid
以及nid
我要从相应的value
中提取 - 例如在node
中查找给定value
的{{1}},然后将其nid
添加到node
。
在SQL中执行此操作的方法可能是:
value
有人可以帮我用DataMapper做这件事吗?
terms
如果有人能指出我对DataMapper的一个很好的教程,我会很感激。我一直在使用他们的在线文档,但我发现我发现自己的情况很少被覆盖。
答案 0 :(得分:1)
根据您的描述,您正在寻找的模型应该设置如下:
class Node
include DataMapper::Resource
property :nid, Serial
property :value, Integer
end
class Term
include DataMapper::Resource
property :tid, Integer, :key => true
property :value, Integer, :key => true
belongs_to :node, :child_key => :nid
end
你可以使用这些模型:
# create a node
node = Node.create(:value => 123)
# create a term and associate it with the node
term = Term.create(:tid => 321, :node => node, :value => node.value)