GetAll
// 여러 개의 무비 가져오기
async getMovies(title?: string) {
const qb = this.movieRepository
.createQueryBuilder('movie')
.leftJoinAndSelect('movie.director', 'director')
.leftJoinAndSelect('movie.genres', 'genres');
if (title) {
qb.where('movie.title LIKE :title', { title: `%${title}%` });
}
return await qb.getManyAndCount();
}
GetOne
// 하나의 무비 가져오기
async getMovie(id: number): Promise<Movie> {
const movie = await this.movieRepository
.createQueryBuilder('movie')
.leftJoinAndSelect('movie.director', 'director')
.leftJoinAndSelect('movie.genres', 'genres')
.where('movie.id = :id', { id })
.getOne();
if (!movie) {
throw new NotFoundException('존재하지 않는 영화입니다.');
}
return movie;
}