0
我試圖執行關於sequelize此mysql命令,但據我是新手使用這個庫,我不能執行該使用的NodeJS JOIN對sequelize
我想使這兩個表SQL命令:
SELECT * FROM users
join users_contacts_lists on users_contacts_lists.mobile_number = users.mobile_number
WHERE users_contacts_lists.user_id = 1
我的模型來創建數據庫模式:
'use strict';
var config = require('../config');
var User = config.sequelize.define('users', {
id: {
type: config.Sequelize.INTEGER,
autoIncrement: true,
primaryKey: true
},
password: {
type: config.Sequelize.STRING
},
username: {
type: config.Sequelize.STRING
},
mobileNumber: {
type: config.Sequelize.STRING,
field: 'mobile_number'
},
status: {
type: config.Sequelize.STRING
},
}, {freezeTableName: true});
var UsersContactsLists = config.sequelize.define('users_contacts_lists', {
id: {
type: config.Sequelize.INTEGER,
autoIncrement: true,
primaryKey: true
},
userId: {
type: config.Sequelize.INTEGER,
field: 'user_id'
},
mobileNumber: {
type: config.Sequelize.STRING,
field: 'mobile_number', defaultValue: 0
}
}, {freezeTableName: true});
UsersContactsLists.belongsTo(ChannelsTypes, {foreignKey: 'user_id'});
User.hasMany(Channels, {foreignKey: 'id'});
User.sync();
UsersContactsLists.sync();
module.exports =
{
users: User,
usersContactsLists: UsersContactsLists
};
我怎樣才能解決這個問題呢?在此先感謝
感謝的人,不幸的是我得到這個錯誤'TypeError:無法讀取屬性'字段'的未定義 在新的屬於(/ Volum es/Home/Projects/Web/test/node_modules/sequelize/lib/associations/belongs-to.js:64:66)' –
謝謝,我如何從'Users'和'UsersContactsLists'模型中選擇一些字段?例如'User'中的'id'和'UsersContactsLists'中的'updated_at'? –
targetkey指的是目標模型,在這裏是UsersContactsLists,所以targetKey將是'updated_at',另一個是當前模型的foriegnKey,這裏是'id' – farhadamjady