我不知道为什么我在react native中的httprequest上总是得到null对象错误



我是一个反应原生的新手。关于我在下面定义的用户模型,我有一个奇怪的问题。

const Sequelize = require('sequelize');
class User extends Sequelize.Model {
static init(sequelize) {
return super.init(
{
id: {
type: Sequelize.INTEGER,
autoIncrement: true,
allowNull: false,
primaryKey: true,
},
name: {
type: Sequelize.STRING,
allowNull: false,
},
password: {
type: Sequelize.STRING,
allowNull: false,
},
phone_number: {
type: Sequelize.STRING,
allowNull: false,
}
},
{ 
sequelize,
timestamps: false, 
modelName: 'User',
tableName: 'user'
}
);
}
static associate(db){
db.User.hasMany(db.Profile, {foreignkey : 'user_Id', sourceKey: 'id', onDelete: 'cascade', onUpdate: 'cascade'});
}
};
module.exports = User;

当我使用用户模型调用注册API时,我总是得到这个空错误。以下是我遇到问题的注册API。

const User = require('../models/user');
const signup = (req, res, next) => {
// checks if email already exists
console.log(req.body.phone_number)
User.findOne({ where : {
phone_number:req.body.phone_number 
}})
.then(dbUser => {
console.log("Arrived!!");

我认为上面的代码应该没有什么问题,我可以看到phone_number是正确传递的。然而,这是输出。

01000000000(只是用于电话号码的伪变量(
error TypeError:无法将未定义或null转换为对象

我不明白为什么它一直抱怨一个对象为空。它指的是哪个对象,我该如何解决这个问题?

感谢提前登录!

import {Sequelize} from 'sequelize'
import sequelize from '../utils/database.js';
class User extends Sequelize.Model {};
User.init(
{
id: {
type: Sequelize.INTEGER,
autoIncrement: true,
allowNull: false,
primaryKey: true,
},
name: {
type: Sequelize.STRING,
allowNull: false,
},
password: {
type: Sequelize.STRING,
allowNull: false,
},
phone_number: {
type: Sequelize.STRING,
allowNull: false,
}
},
{
sequelize,
timestamps: false,
modelName: 'User',
tableName: 'user'
}
);
export default User;

尝试使用这种定义模型的方式,它对我有用!!

相关内容

最新更新