18 lines
550 B
TypeScript
18 lines
550 B
TypeScript
import Colle from '#models/colle'
|
|
import Subject from '#models/subject'
|
|
|
|
export class SubjectService {
|
|
async getAll(className: string): Promise<string[]> {
|
|
const subjectsIds = (
|
|
await Colle.query()
|
|
.distinct('subjectId')
|
|
.select('subjectId')
|
|
.whereHas('student', (query) => {
|
|
query.where('className', className)
|
|
})
|
|
).map((colle) => colle.subjectId)
|
|
|
|
const subjects = await Subject.query().whereIn('id', subjectsIds).select('name')
|
|
return subjects.map((subject) => subject.name)
|
|
}
|
|
}
|