@jenya7771

Как работают ассоциации в sequelizeJs?

Здравствуйте, есть 2 таблицы, с пользователями и объявлениями. Хочу сделать связь, чтобы при получении всех объявлений получать и данные того кто создал объявление.

В таком виде как есть при создании второго объявления вылазит ошибка:
SequelizeForeignKeyConstraintError: insert or update on table "ads" violates foreign key constraint "ads_id_fkey"

const users_panel = sequelize.define('users_panel', {
	email:  { 
		type: Sequelize.STRING, 
		allowNull: false,
		unique: true
	}
})

const ads = sequelize.define('ads', {
	user_panel_id: { 
		type: Sequelize.INTEGER,
		allowNull: false
	},
	name: { 
		type: Sequelize.STRING,
		allowNull: false
	},
	
})
usersPanel.hasMany(ads, {foreignKey: 'user_panel_id', as: 'ads'});
ads.belongsTo(usersPanel, {foreignKey: 'id', as: 'user'});

sequelize.sync({force: false})
.then(data => console.log('ok'))
.catch(error => console.error(error))


А вот так создаю и получаю объявления:
ads.create(dataCreate)
	

ads.findAndCountAll({
			where: search,
			limit: 100,
			offset: 0,
			include: [{
				as: 'user',
				model: usersPanel
			}]
		})


Подскажите пожалуйста, может есть хорошая статья в которой описывается как создавать связи, уже 2 (один и два) вопроса создавал по поводу связей таблиц, а ответы не смог получить.
  • Вопрос задан
  • 410 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы