我想创建新记录,但我收到错误:
TypeError: User.create(...).fetch is not a function
我的UserController.js
create: async function(req,res,next){
await User.create({
username: req.param('username'),
password: 654654,
type: 1,
})
.fetch()
.then(function (new_user)
{
return res.ok({'user':new_user});
})
.catch(function (err) {
if(err){
console.log(err);
return res.serverError({'err':err});
}
});
}
我的另一个问题是如何在Model.create(...)上验证参数并生成自定义错误消息?
我使用sails-hook-validation但是不工作!!!!
我使用风帆v 1.0
谢谢
答案 0 :(得分:1)
您的UserController应该是这样的:
create: async function(req,res,next)
{
try{
let new_user = await User.create({
username: req.param('username'),
password: 654654,
type: 1
})
.fetch();
return res.ok({'user':new_user});
}
catch(err)
{
console.log(err);
return res.serverError({'err':err});
}
}
答案 1 :(得分:1)
它的第一个参数是错误(如果有的话),第二个是创建的对象(这里是用户)
await User.create({
username: req.param('username'),
password: 654654,
type: 1,
}, (err, user) => {
//Use this instead of fetch
})