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)
 | |
|   }
 | |
| }
 | 
