WedX - журнал о программировании и компьютерных науках

Последовательность создания экземпляра с ассоциацией

В Sequelize 4 есть два класса: User и Profile, где они связаны

User.associate = (model) => {
    User.hasMany(model.profile);
}

Теперь у меня есть экземпляр пользователя с именем user, и я хочу создать экземпляр Profile, как я могу создать его с привязкой к user.

Вот что я пробовал. Это работает, но я ищу лучшее решение.

var Profile = require('../models/profile');
Profile.create({userId: user.id})

Вот еще один способ, которым я пытался, но не работал:

var Profile = require('../models/profile');
Profile.create({user: user},{include: User})

Есть идеи?

06.02.2018

Ответы:


1

ну вот помогло:

var profile = new Profile();
profile.setUser(user);
Profile.create(profile).then(res.send('success'));
06.02.2018

2

Создайте (или создайте и сохраните) как свой профиль, так и экземпляры пользователей. установить пользователя в профиле. Сохраните профиль (снова).

Что-то вроде этого:

const profile = Profile.build({...});
profile.save();

const user = User.build({...});
user.save();

profile.setUser(user);

profile.save();

На практике с промисами это может выглядеть примерно так после создания нового пользователя и профиля:

newUser.save().catch(err => console.log('Failed to create user', err))

profile.save()
.then(profile => profile.setUser(user))
.then(profile => profile.save())
.then(profile => {
  res.json(profile)
})
.catch(err => console.log('Failed to create profile', err));
17.05.2018

3

попробуй это,

User.associate = (model) => {
    User.hasMany(model.profile, as "profile");
}

потом

User.create({user: user, profile:profile},{include: Profile, as : "profile"})
29.08.2020
Новые материалы

Как создать диаграмму градиентной кисти с помощью D3.js
Резюме: Из этого туториала Вы узнаете, как добавить градиентную кисть к диаграмме с областями в D3.js. Мы добавим градиент к значениям SVG и применим градиент в качестве заливки к диаграмме с..

Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что это выглядит сложно…
Просто начните и учитесь самостоятельно Я хотел выучить язык программирования MVC4, но не мог выучить его раньше, потому что он кажется мне сложным, и я бросил его. Это в основном инструмент..

Лицензии с открытым исходным кодом: руководство для разработчиков и создателей
В динамичном мире разработки программного обеспечения открытый исходный код стал мощной парадигмой, способствующей сотрудничеству, инновациям и прогрессу, движимому сообществом. В основе..

Объяснение документов 02: BERT
BERT представил двухступенчатую структуру обучения: предварительное обучение и тонкая настройка. Во время предварительного обучения модель обучается на неразмеченных данных с помощью..

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..


Для любых предложений по сайту: [email protected]