我定义了这个模型:
asset Ask identified by askId
{
o String askId
o String title
o String[] options
o Integer[] votes
}
asset Poll identified by pollId
{
o String pollId
--> Ask[] asks
}
当我试图获得问题字段时,我无法得到任何东西。这是测试代码:
count.poll.asks.forEach(function(ask)
{
alert("Ask:" +ask);
});
alert(count.poll)
检索Relationship {id=org.acme.democracity.Poll#pollId:poll1111}
,以便在其中有一个有效的对象。
我甚至不确定是否可以像我一样声明资产数组。
答案 0 :(得分:1)
我试图重新创建你的模型并制作这个功能,这就是我所拥有的:
asset Ask identified by askId
{
o String askId
o String title
o String[] options
o Integer[] votes
}
asset Poll identified by pollId
{
o String pollId
--> Ask[] asks
}
transaction count {
--> Poll pollId
}
我的事务处理器功能看起来像:
/**
* count transaction
* @param {org.sample.count} count
* @transaction
*/
function count(count) {
count.pollId.asks.forEach(function(ask) {
var serializer = getSerializer()
var serializer = getSerializer();
var jsonObj = serializer.toJSON(ask);
console.log("Ask: ", ask);
console.log("Ask jsonObj: ", jsonObj);
});
}
使用此功能,我可以创建Ask
,然后创建Poll
,我可以将Poll
提供给交易。查看我的链码日志,我可以看到我的obj已正确打印
Ask: Resource {id=org.sample.count.Ask#striaweng}
Ask jsonObj:{$class:"org.sample.count.Ask",askId:"striaweng",title:"striawefawefng",options:["stawefring","stawefring","stawefring"],votes:[0,2,3,4,5]}
也许尝试一下,看看它是否有帮助。确保您输入正确的Asset
并引用正确的子属性。