Cześć,
Wiem, że temat tego posta niewiele mówi, ale postaram się tutaj przybliżyć temat.
Stworzyłem bardzo prostą tabelę, która z założenia ma przechowywać wszystkie zdjęcia z aplikacji. Zdjęcia te przypisywane są w różnych miejscach. Do momentu gdy wykorzystywałem tylko relację one to one, nie było problemu. NP. w tabeli place miałem właściwość place_profile, do której przypisywałem ID obiektu znajdującego się w tabeli images. Pojawił się jednak problem gdy chciałem dodać do tabeli place property images, która przechowywałaby wiele zdjęć (one to many), gdyż w tabeli images nie przechowuje klucza obiektu place.
Poniżej załączam kod:
ImageEntity:
@Entity({ name: 'images' })
class ImageEntity {
@PrimaryGeneratedColumn()
public id: number;
@CreateDateColumn({ name: 'created_at' })
public createdAt: Date;
@Column({ name: 'file_key' })
public fileKey: string;
@Column({ name: 'file_type' })
fileType: ImageFileType;
}
export default ImageEntity;
Urywek PlaceEntity:
@OneToOne(() => ImageEntity, { cascade: true, nullable: true })
@JoinColumn({ name: 'profile_img' })
public profileImg: ImageEntity;
@OneToOne(() => ImageEntity, { cascade: true, nullable: true })
@JoinColumn({ name: 'banner_img' })
public bannerImg: ImageEntity;
// tutaj pojawia się problem
@OneToMany(() => ImageEntity, (placeImages) => placeImages.id, {
cascade: true,
nullable: true
})
@JoinColumn({ name: 'images' })
public images: ImageEntity[];
Ktoś ma może pomysł jak mógłbym rozwiązać ten problem?
Z góry bardzo dziękuję za pomoc!