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...?