Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

88
Vistas
Secuela la relación de muchos a muchos con datos que faltan en el resultado.

Estoy usando Sequelize con PostgreSQL y Nodejs.

mi base de datos tiene 3 relaciones,

1 usuario de relación,

1 vínculo de relación,

1 tabla de relación user_has_link (es una tabla de relación entre el usuario y el enlace) con 3 columnas:

  • id_usuario
  • link_id
  • link_url (contiene una url definida por el usuario: https://github.com/aviateur22 por ejemplo)

mis modelos de relación de secuela entre el enlace y el usuario:

 User.belongsToMany(Link,{ as: 'usersLinks', through: 'user_has_link', }); Link.belongsToMany(User,{ as: 'linksUsers', through: 'user_has_link' });

y finalmente mi consulta para obtener información de un usuario:

 const user = await User.findByPk(userId, { include:{ model: Link, as: 'usersLinks' } });

la solicitud a la base de datos está bien, pero me falta el url_link del usuario (no entiendo por qué):

por ejemplo, una respuesta de la solicitud:

 avatarKey: "thumbnail-fce0848f-9509-4180-b7fa-c2bf908ed396.png" email: "aviateur@ht.fr" id: 2 login: "aviateur22" sex: "homme" usersLinks: Array(2) 0: {id: 1, compagny_name: 'github', picture_name: 'github.png', created_at: '2022-03-30T13:02:31.920Z', updated_at: null, …} 1: {id: 2, compagny_name: 'linkedin', picture_name: 'linkedin.png', created_at: '2022-03-30T13:02:31.920Z', updated_at: null, …}

muchas gracias por tu ayuda cirille

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Debe definir un modelo de tabla de unión explícitamente con todos los campos adicionales que necesita e indicarlo en lugar de usar la cadena user_has_link en belongsToMany , vea muchos a muchos avanzados.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Siguiendo el consejo de Anatoly, actualicé mi relación de Pertenecer a Muchos.

 const UserLink = require('./userLink'); User.belongsToMany(Link,{ as: 'usersLinks', through: UserLink, });

Tengo todos mis datos, incluido url_link

 { "id": 2, "login": "aviateur22", "email": "aviateur@hotmail.com", "sex": "homme", "avatarKey": "thumbnail-fce0848f-9509-4180-b7fa-c2bf908ed396.png", "usersLinks": [ { "id": 1, "compagny_name": "github", "picture_name": "github.png", "created_at": "2022-03-30T13:02:31.920Z", "updated_at": null, "UserLink": { "user_id": 2, "link_id": 1, "link_url": "https://github.com/aviateur22", "created_at": "2022-03-31T07:10:32.010Z", "updated_at": "2022-03-31T07:11:47.370Z", "UserId": 2, "LinkId"

gracias

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda