Изменить стандартную версию C ++ по умолчанию
Из (ошибка COMPILE FILE FAILED): 'to_string' не является членом 'std'
-std = c ++ 98
blockquote>To (ФАЙЛ УСПЕШНОГО ФАЙЛА)
-std = c ++ 11 или -std = c ++ 14
blockquote>Протестировано на Cygwin G ++ (GCC) 5.4.0
Поскольку профиль связан с пользователями, а не с пользовательскими специальностями, было бы разумнее выполнить это с помощью двух запросов.
Получите ваши пользовательские особенности, как вы делали выше, затем возьмите эти userId и захватите их связанные профили (должно быть что-то вроде User.getProfile
в зависимости от того, как настроены ваши ассоциации).
Прямо сейчас у вас есть атрибуты UserSpecialties, настроенные так, чтобы они возвращали только specialty_id и title. Если вы добавите userId к этим атрибутам, вы можете использовать эти userId для запроса таблицы вашего профиля. Обещание затем хорошо работает для чего-то подобного, например:
UserSpecialties.findAll({...}).then((userSpecialties) => {
User.getProfile({where: {userId: userSpecialties.userId}, attributes: {'first_name', 'last_name'})
});
В зависимости от того, что вы конкретно пытаетесь сделать с информацией, вам, вероятно, придется немного ее подправить, но общая идея добавления в userId в качестве атрибута, а затем запрос вашей пользовательской таблицы для профилей с использованием userId из результата запроса UserSpecialties должен работать нормально для данных, которые вы хотите.
Несмотря на то, что, глядя на ваши модели, возможно, имеет смысл просто иметь профиль и пользователя в одной таблице, где у пользователя есть имя, фамилия, имя пользователя и статус. Поскольку в Профиле нет много других вещей, а затем, если вам нужны определенные вещи для userProfile, вы можете использовать области действия в вашей пользовательской модели.