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

311
Vistas
(expresar, reaccionar) ¿Cómo obtener datos de una clave externa a través de mySQL?

Por contexto:

  • Tengo que hacer un sistema de solicitud de amistad. Tengo usuarios registrados y una página que muestra a todos los usuarios dentro de una lista, cada uno en un bloque con sus nombres y un botón "agregar". Una vez que se hace clic en el botón, envía mi base de datos a una tabla [request], la identificación de usuario del remitente y la identificación del receptor, cada uno respectivamente en una tabla con "sender_ID (bigInt), receiver_ID (bigInt) y comfirmed (bool) como la estructura.

  • Quiero, en una página de lista de amigos, mostrar a todos los usuarios que son mis amigos, y mostrar también los que tienen una solicitud pendiente, ya sea mía o de ellos.

  • En esta lista de amigos, quiero mostrar a esos usuarios lo mismo que antes, en un pequeño bloque con su nombre completo y nombre de usuario. Aunque eso requiere que acceda a su información a través de su ID (clave principal, estar en la tabla de usuarios. Ya sea un receptor o un remitente de una solicitud de amistad).

Problema: no tengo idea de qué código debo escribir para acceder a la información de un usuario a través de una clave externa. Actualmente usa express y React juntos, y el paquete mySQL para el manejo de bases de datos.

Obtener las solicitudes de la tabla (solicitud)

 app.get("/api/friends", (req, res) => { const sqlSelect = "SELECT * FROM request" db.query(sqlSelect, (err, result) => { res.send(result) }) })

Reaccionar página de lista de amigos

[...]

 const [friends, setFriends] = useState([]) const getFriends = () => { Axios.get("http://localhost:3001/api/friends") .then((res)=> { setFriends(res.data) console.log(res.data) }) } useEffect(() => { getFriends(); }, []); return ( <LoginContext.Provider value={{ loggedIn, setLoggedIn }}> <div> {friends.map((friend, key) => ( <> <a key={friend.sender_id}> <p>{friend.sender_id}</p> <p>{friend.receiver_id}</p> </a> </> ))} </div> </LoginContext.Provider> ); } export default Friendlist;

Como puede ver en el código de reacción, en la parte de representación, no tengo problemas para mapear lo que viene de mi tabla [request], pero eso no es lo que quiero. También quiero poder obtener la información de un usuario y mostrarla, usando solo SU identificación, para no terminar mostrando a todos los usuarios que están registrados en el sistema. No sé si ustedes entienden lo que estoy tratando de hacer...?

about 4 years ago · Juan Pablo Isaza
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