我有两个模型Reference
和Product
,Reference
有很多Product
,我需要运行下一个查询(使用某些Loopback的方法),所以我没有得到空的产品。
SELECT DISTINCT R.id
FROM Reference R
WHERE EXISTS (
SELECT id FROM Product P
WHERE P.referenceId = R.id AND P.stock > 0
)
谢谢!
答案 0 :(得分:0)
当前无法使用内置方法/查询语言基于相关模型属性查询模型过滤,请选中此issue。因此,您将必须使用数据源连接器执行sql。例如,如果您有一个名为Reference.js的模型文件:
var dbConnection = Reference.dataSource.connector;
dbConnection.execute(yourSql, [], function (err, references) {});
结果将是仅具有id属性的对象数组。选中this
另一个选项可能是双向关系(“产品属于参考”)并查询库存> 0的产品,但是您将不得不将重复值分组:
var Product = Reference.app.models.Product;
Product.find({where: {stock: {gt:0}}, fields: {referenceId:true}}, function (err, prods) {})