【发布时间】:2019-08-13 00:39:04
【问题描述】:
如何在 RowDataPacket 中循环数据。
这个问题发生是因为在 addonis QueryBuild 中没有返回相同的值
作为清晰的模型
如果我使用 Lucid 模型,一切正常
const emp = await EMP.all();
for(let i in emp.rows) {
const data = emp.rows[i]
}
在我使用 querybuilder 之后,我会做这样的事情
const emp = await Database
.table('emp');
for(let i in emp.RowDataPacket) {
console.log('s')
const data = emp.RowDataPacket[i]
const emp = await emp_sell.query()
.where('emp_id',data.id);
}
它甚至不是 display 's'
【问题讨论】:
-
你应该
await Database.select('*').from('emp') -
@guijob 是一样的。数据返回 RowDataPacket 。但我不知道如何在控制器中感染数据
-
哦,好吧,所以我认为您最终得到的 RowDataPacket[] 女巫是不可迭代的。作为一种解决方法,您可以
JSON.parse(JSON.stringify(emp)转换为 js 数组,然后对其进行迭代 -
谢谢,现在我可以使用 emp.forEach(function(data) { console.log(data.id); });
-
您可以将此添加到答案中吗?我会标记@guijob
标签: javascript adonis.js