career와 careerDetail이 있습니다. career는 일대다이고 careerDetail은 다대일로 설정했습니다. 하지만, repository에서 .leftJoinSelect를 하면 Cannot read properties of undefined (reading ‘joinColumns’) 에러가 발생합니다.
// career.entity.ts
@ApiHideProperty()
@OneToMany(
() => CareerDetail,
(careerDetail) => {
careerDetail.career
},
{onUpdate: 'CASCADE'}
)
careerDetails: CareerDetail[]
// careerDetail.entity.ts
@ApiHideProperty()
@ManyToOne(() => Career, (career) => career.careerDetails, {onUpdate: 'CASCADE'})
career: Career
// career.repository.ts
import {Repository} from 'typeorm'
import {Career} from '../entities'
import {CustomRepository} from '../../libs/database/typeorm-ex-decorator'
@CustomRepository(Career)
export class CareerRepository extends Repository<Career> {
async findAndCountWithOption(options) {
const {skip, take} = options
const query = this.createQueryBuilder('c').innerJoinAndSelect('c.careerDetails', 'cd')
return await query.skip(skip).take(take).getManyAndCount()
}
}
혹시 이러한 방법이 아니라면 알려주시면 감사하겠습니다.