我希望使用数组作为参数构建查询,如下所示:
模型文件
query getCarsByModels {
statement:
SELECT ie.example.Car
WHERE (_$modelArray CONTAINS model)
}
查询以检索具有指定型号的所有汽车:
undefined is a required argument
查询端点我收到此错误:{{1}},显然这是在此问题中引发(并已解决)的错误:https://github.com/hyperledger/composer/issues/2539。
你有什么建议吗?
答案 0 :(得分:0)
我发现你提供的定义存在三个问题:
1)你的模型文件应该如下所示(可能是一个cut-n-paste错误?)
asset Model identified by id {
o String id
o String name
}
2)应该对Array字段使用操作CONTAINS
。您的资产定义(对于Car
)没有一个数组字段。
3)您的查询需要以正确的方式使操作数: - 您的“左手”字段必须是模型中某处定义的字段 - 例如实际的数组字段。
query getCarsByModels {
statement:
SELECT ie.example.Car
WHERE ( model CONTAINS _$model )
}
你的模型将在哪里
asset Car identified by id {
o String id
--> Model[] model // or `o Model[] model`
}
我不得不问 - 为什么你需要一个数组 - 当你可以简单地做:
query getCarsByModels {
statement:
SELECT ie.example.Car
WHERE ( model == _$model )
}