我的区块链上有一个“生产记录”资产,该资产与“订单”资产有关系。在查询语言中,我找不到使用orderId返回订单的方法。基本思想是我想要一个API端点,该端点返回特定订单的生产记录。
我尝试使用“ order.orderId = _ $ orderId”,但这似乎不起作用,我目前拥有
function transformEmployeeData(array)
{
var output = [];
for (var i = 0; i < array.length; i++)
{
var obj = {};
for (var j = 0; j < array[i].length; j++)
{
obj[array[i][j][0]] = array[i][j][1];
}
output.push(obj);
}
return output;
}
但是这给了我一个语法错误。
请参阅我的模型的代码示例。
WHERE (order == (SELECT org.garment.supplychain.Order
WHERE (_$orderId = org.garment.supplychain.Order.orderId)))
答案 0 :(得分:0)
尝试
query ProductionRecordByOrder {
description: "Get all the production records referring to the same order"
statement:
SELECT your.namespace.ProductionRecord
WHERE ( order == _$inputOrder )
}
,当您调用此查询时,您将需要传递完全限定的标识符,例如
// you need to get the order object here before the query
// for example, the order might be a property in the transaction
var order = tx.order;
var ProductionRecord = await query( "ProductionRecordByOrder", {inputOrder: `resource:${order.getFullyQualifiedIdentifier()}`} );
本质上也是最重要的一点是,输入内容应类似于以下内容
resource:your.namespace.Order#some_order_id
我假设您使用的是名称空间,但如果不使用,请删除名称空间(即your.namespace.
部分)