Dies ist die Tabelle, aus der ich die Daten abrufen möchte. Ich verwende Express, um die Abrufanforderung von der nächsten App zu stellen:
model Provider { id String @id @default(cuid()) name String email String password String phone String photo String? service Service? @relation(fields: [serviceId], references: [id]) serviceId String? location Location? @relation(fields: [locationId], references: [id]) locationId String? createdAt DateTime @default(now()) text String starAverage Float medals Medals[] comment Comment[] } model Service { id String @id @default(cuid()) type String provider Provider[] }
Ich möchte anstelle der Service-ID den Servicetyp der Anbieter-Servicetabelle erhalten. Dies ist meine Route.
router.get('/list', async (req: Request, res: Response) => { const allClients = await prisma.client.findMany() res.json({allClients}) })
So erhalte ich die restlichen API-Daten mit axios
const [providers, setProviders] = useState([] as any[]) useEffect(() => { axios.get('http://localhost:5140/providers/list')//my list of all providers .then(res => { console.log(res) setProviders(res.data) }).catch(err => { console.log(err) }) }, ) const renderedProviders = Object.values(providers).map(provider => { return ( <div className="card" style={{ width: "18rem"}} key={provider.id} > <img className="card-img-top" src="..."/> <div className="card-body"> <h3>{provider.name}</h3> <p>{provider.starAverage} estrekas</p> <p>{provider.serviceId}</p> </div> </div> ); }); return ( <div className="d-flex flex-row flex-wrap justify-content-between"> {renderedProviders} </div> )
Derzeit kann nur die Service-ID des Anbieters abgerufen werden, nicht die Art des Dienstes
要从数据库中的外键引用的另一个表中获取数据,您可以在 SQL 查询中使用
JOIN
子句。 JOIN 子句允许您根据表之间的相关列组合两个或多个表中的行。这就是如何使用
JOIN
子句从两个表(users
和orders
)获取数据,这两个表通过外键关联.JOIN
子句根据user_id
列组合users
和orders
表中的行。 code>orders 表和users
表中的id
列。SELECT
子句指定要从users
和orders
表中检索的列。已编辑 如何在 Express 路由和来自 axios 的 http 请求中引用它?
您可以使用sequelize.query(Sequelize是一个基于promise的Node.js ORM)方法来执行原始SQL查询。
sequelize.query 方法用于执行原始 SQL 查询,其中包含 JOIN 子句以从用户和订单表中获取数据。