我有一个应用程序与3路线:注册、登录和 Jmeter 板; Jmeter 板是受保护路由。
在我的 Jmeter 板路由中,我创建了一个将检索用户信息的发布请求。
在我的服务文件中:
//Return a user by ID
const getUserById = (id) =>
knex('users').select('user_name').where({ user_id: id }).first();
在我的控制器文件中:
async function create(req, res, next) {
try {
const user = await service.getUserById(req.user);
res.json(user);
} catch (err) {
console.error(err.message);
}
}
我得到这个错误:Undefined binding(s) detected when compiling FIRST. Undefined column(s): [user_id] query: select "user_name" from "users" where "user_id" = ? limit ?
我的表users
有4列:用户ID、用户名、用户电子邮件和用户密码。
我的服务文件或控制器文件有什么问题?
2条答案
按热度按时间fnatzsnv1#
从代码来看,
req.user
必须未定义。yc0p9oo02#
当函数需要一个id时,您将用户对象传递给函数。
service.getUserById(req.user)
但是函数签名是:
const getUserById = (id) => ...