Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

87
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda