I want to run the following query using TypeORM.
SELECT
*
FROM
user
WHERE
deleted = false
AND classId = `classId`
AND (
parentId = `entityId`
OR teacherId = `entityId`
OR lessonId = `entityId`
)
I did as follows and I had to write the same piece of code several times.
const result = await userRepo.find({
where: [
{
deleted: false,
classId: 'classId',
parentId: 'entityId',
},
{
deleted: false,
classId: 'classId',
teacherId: 'entityId',
},
{
deleted: false,
classId: 'classId',
lessonId: 'entityId',
}
]
});
what this actually runs as query is:
SELECT
*
FROM
user
WHERE
(deleted = false AND classId = `classId` AND parentId = `entityId`)
OR (deleted = false AND classId = `classId` AND teacherId = `entityId`)
OR (deleted = false AND classId = `classId` AND lessonId = `entityId`)
Can I use deleted
and classId
only once to run this query using find
from repository?
question from:
https://stackoverflow.com/questions/66051534/how-to-query-and-or-using-typeorm 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…