javascript - Adonis Lucid ORM 不返回数据

标签 javascript node.js orm adonis.js

我是 Adonis JS 的新手,对于这个愚蠢的问题感到非常抱歉。

我有 Adonis JS 的默认设置和 Mysql 数据库,一切正常。

我创建了一个简单的用户测试路由,其中​​返回 ID 为 1 的用户的 JSON。

下面是相同的代码

Route.get('/usertest', ({ response }) => {
  const User = use('App/Models/User')
  let data = User.query().where('id', 1)
    .first()
  console.log(data)
  return response.status(200).json(data)
})

但它返回的是空对象

原始响应:

{}

控制台日志语句响应:

Promise { <pending> }

我无法理解我在这里错过了什么。

注意:我尝试了 let data = User.find(1) 但没有成功。

请帮助我。

提前致谢!!!

最佳答案

请注意,至少您必须异步执行查询。

我的意思是,你必须更换:

let data = User.query().where('id', 1)
    .first()

作者:

let data = await User.query().where('id', 1)
    .first()

当然,这意味着您必须在函数箭头之前加上async:

Route.get('/usertest', async ({ response }) => {  
  // rest of the code
  let data = await User.query().where('id', 1).first()
  // rest of the code    
})

关于javascript - Adonis Lucid ORM 不返回数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55077645/

相关文章:

javascript - JSON Highcharts绘制多条线

javascript - 弹出窗口中父实体的选择器

java - 使用逻辑 AND 处理 hibernate 多个条件

node.js - 在 ID 为 String 的 Angular 4 中使用路由参数

oop - Vo 代表什么?

php - 使用 Eloquent orm 和 mysql 的连接太多

javascript - 如何使用 jquery 在 Angular 中选择具有 ng-class attr 的元素

javascript - 从输入中获取用户输入的值

node.js - 我怎样才能让 `git` 失败而不是要求凭据

javascript - 在发送后抛出新的错误 ('Can\' t 设置 header 。') 导致崩溃