使用Node.Js Express连接两个表
我在网络上四处寻找解决方案,但似乎没有一个与我相关的答案。所以我想在这方面得到一些帮助。这里有两个表需要连接,并在React文件中列出。游戏表和用户表,目前我只能显示游戏表。使用Node.Js Express连接两个表,node.js,reactjs,postgresql,express,Node.js,Reactjs,Postgresql,Express,我在网络上四处寻找解决方案,但似乎没有一个与我相关的答案。所以我想在这方面得到一些帮助。这里有两个表需要连接,并在React文件中列出。游戏表和用户表,目前我只能显示游戏表。 Server/index.js const express = require("express"); const app = express(); const cors = require("cors"); const pool = require("./db&quo
Server/index.js
const express = require("express");
const app = express();
const cors = require("cors");
const pool = require("./db");
//middleware
app.use(cors());
app.use(express.json()); //req.body
app.get("/af", async (req, res) => {
try {
const allTodos = await pool.query("SELECT game.*, users.* FROM users INNER JOIN game ON users.game_code = game.game_code; ");
res.json(allTodos.rows);
} catch (err) {
console.error(err.message);
}
});
Client/List.js
const List = () => {
const [af, setAF] = useState([]);
const getTodos = async() => {
try{
const response = await fetch("http://localhost:5000/af");
const jsonData = await response.json();
setAF(jsonData);
}catch(err){
console.error(err.message);
}
}
useEffect(() => {
getTodos();
}, []);
return(
<Fragment>
{" "}
<table className="table mt-5 text-center">
<thead>
<tr>
<th>game_code</th>
<th>user_code</th>
</tr>
</thead>
<tbody>
{af.map(game => (
<tr key = {game.game}>
<td>{game.game_code}</td>
<td>{game.game_location}</td>
))}
</tbody>
</table>
</Fragment>
export default List;
const List=()=>{
常量[af,setAF]=useState([]);
常量getTodos=async()=>{
试一试{
const response=等待获取(“http://localhost:5000/af");
const jsonData=await response.json();
setAF(jsonData);
}捕捉(错误){
控制台错误(错误消息);
}
}
useffect(()=>{
getTodos();
}, []);
返回(
{" "}
游戏代码
用户代码
{af.map(游戏=>(
{game.game_code}
{游戏。游戏位置}
))}
导出默认列表;
不清楚您要的是什么,什么有效或无效。看起来您同时查询了游戏表和用户表,并使用游戏代码将它们连接起来。如果我没有弄错的话,您应该返回一个数据数组。这是问题吗?您无法成功连接这两个表吗?@Drewerese抱歉,我还是新手。什么时候我向Postman查询,我可以收到一个[]数组。但它没有内容。我还想在我的List.Js文件中显示它。是的,似乎您需要首先解决问题,查询数据库并验证您尝试在响应中发送的allTodos
值。