Ini adalah jadual yang saya ingin dapatkan data, saya menggunakan ekspres untuk membuat permintaan dapatkan daripada apl seterusnya:
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[] }
Saya ingin mendapatkan jadual perkhidmatan pembekal jenis perkhidmatan dan bukannya serviceId, ini adalah laluan saya.
router.get('/list', async (req: Request, res: Response) => { const allClients = await prisma.client.findMany() res.json({allClients}) })
Ini adalah cara saya mendapatkan data API yang selebihnya menggunakan 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> )
Pada masa ini hanya serviceId penyedia boleh diperolehi, bukan jenis perkhidmatan
Untuk mendapatkan data daripada jadual lain yang dirujuk oleh kunci asing dalam pangkalan data, anda boleh menggunakan klausa
JOIN
dalam pertanyaan SQL anda. Klausa JOIN membolehkan anda menggabungkan baris daripada dua atau lebih jadual berdasarkan lajur yang berkaitan antara jadual.Ini ialah cara menggunakan klausapengguna dan
KlausaJOIN
子句从两个表(users
和orders
untuk mendapatkan data daripada dua jadual (pesanan
), yang berkaitan dengan kunci asing.JOIN
子句根据user_id
列组合users
和orders
表中的行。 code>orders 表和users
表中的id
列。SELECT
子句指定要从users
和orders
menggabungkan baris daripada jadualpengguna
danorder
berdasarkan lajuruser_id
. Lajurid
dalam jadual kod>pesanan dan jadualpengguna
. KlausaSELECT
menentukan lajur untuk diambil daripada jadualpengguna
danorder
.Diedit Bagaimanakah saya boleh merujuknya dalam laluan Ekspres dan permintaan http daripada axios?
Anda boleh menggunakan kaedah sequelize.query (Sequelize ialah kaedah Node.js ORM berasaskan janji) untuk melaksanakan pertanyaan SQL mentah.
kaedah sequelize.query digunakan untuk melaksanakan pertanyaan SQL mentah dengan klausa JOIN untuk mendapatkan data daripada pengguna dan jadual pesanan.