【发布时间】:2020-12-09 10:36:40
【问题描述】:
在环回 3.0 中,我试图在对关系应用 where 子句的同时从多个关系模型中获取数据。
以下是模型的 JSON 示例:
modelA.json
{
"properties": {
"id": {
"type": "string",
"required": true,
"length": 20
},
"modelBid": {
"type": "string"
},
...
}
"relations": {
"modelB-rel": {
"type": "belongsTo",
"model": "modelB",
"foreignKey": "modelBid",
"primaryKey": "id"
},
...
}
}
modelB.json
{
"properties": {
"id": {
"type": "string",
"required": "false",
"length": "20"
},
"name": {
"type": "string",
"length": "255"
},
...
}
}
我想要执行的查询的 SQL 等效项:
SELECT * FROM modelA a
LEFT JOIN modelB b
ON a.modelBid = b.id
WHERE b.name = 'abcd'
我正在使用的环回过滤器对象不提供获取预期结果:
modelA.find({
include: [
{
relation: 'modelB-rel',
scope: {
fields: ['id', 'name'],
},
}
],
where: {
modelB-rel: {
name: 'abcd',
},
}
}
...
请帮助我更正过滤器对象以获得与上述 SQL 等效项相同的结果。
【问题讨论】: