[英]How can I join multiple tables with TypeORM leftJoinAndSelect?
[英]Multiple JOIN with TYPEORM
我是typeorm
,也許有人可以解決我的問題。
我有一些查詢,如:
SELECT t1.id,t2.id_2,t3.event,t3.column1,t4.column1 FROM table1 t1
INNER JOIN table2 t2 ON t1.id = t2.id
INNER JOIN table3 t3 ON t2.event = t3.event
INNER JOIN table4 t4 ON t4.id = t2.id_2 WHERE t3.event = 2019
如何將此查詢轉換為typeorm
?
讓我們一個一個地打破它們,好嗎? 假設你知道怎么做,那就很簡單了:
await getManager()
.createQueryBuilder(table1, 't1')
.select('t1.id', 't1_id')
.addSelect('t2.id_2', 't2_id_2')
.addSelect('t3.event', 't3_event')
.addSelect('t4.column1', 't4_column1') // up to this point: SELECT t1.id,t2.id_2,t3.event,t3.column1,t4.column1 FROM table1 t1
.innerJoin(table2, 't2', 't1.id = t2.id') //INNER JOIN table2 t2 ON t1.id = t2.id
.innerJoin(table3, 't3', 't2.event = t3.event') // INNER JOIN table3 t3 ON t2.event = t3.event
.innerJoin(table4, 't4', 't4.id = t2.id_2') // INNER JOIN table4 t4 ON t4.id = t2.id_2
.where('t3.event = 2019') // WHERE t3.event = 2019
.getRawMany() // depend on what you need really
你可以參考這個來檢查你想要什么輸出: https : //github.com/typeorm/typeorm/blob/master/docs/select-query-builder.md#getting-values-using-querybuilder
無論您想要數據作為實體( getOne
和getMany
)還是它是什么( getRawOne
和getRawMany
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.