Loopback 4使用自己的Juggler ORM。但是我似乎找不到所需的参数,以便能够使用"execute"执行多个SQL语句。方法。
await this.myRepository.execute(`SELECT * FROM FIRST_TABLE WHERE TABLE_ID = 1; SELECT * FROM SECOND_TABLE WHERE TABLE_ID = 1;`);
这应该可以通过设置一个"多语句"来使用任何其他ORM。选项为true
我认为实现这一目标的唯一方法是做承诺。
试试这个
await Promise.all([
this.myRepository.execute(`SELECT * FROM FIRST_TABLE WHERE TABLE_ID = 1`),
this.myRepository.execute(`SELECT * FROM SECOND_TABLE WHERE TABLE_ID = 1`)
]);
我认为,如果你试图执行一个" select ";语句,您希望捕获/返回结果输出。我不确定如何处理多个结果,所以,我认为你需要执行下面的单个语句:
const Result = await this.myRepository.execute(
`SELECT * FROM FIRST_TABLE WHERE TABLE_ID = 1`
);
然而,在execute方法中传递参数的方式是使用第二个参数作为数组:
await this.myRepository.execute(
`SELECT * FROM FIRST_TABLE WHERE TABLE_ID = ?;
SELECT * FROM SECOND_TABLE WHERE TABLE_ID = ?;`,
[FirstTableId,SecondTableId]
);