- 
                Notifications
    
You must be signed in to change notification settings  - Fork 41
 
Open
Description
Paragraphs.entity.ts
import {
  Column,
  PrimaryGeneratedColumn,
  ManyToOne,
  Entity,
  JoinColumn,
  OneToMany,
  JoinTable,
} from 'typeorm';
import { DateAudit } from '@entities/date-audit.entity';
import { Posts as Post } from '@posts/posts.entity';
import { Likes as Like } from '@likes/likes.entity';
import { Comments as Comment } from '@comments/comments.entity';
import { PolymorphicChildren } from 'typeorm-polymorphic';
@Entity()
export class Paragraphs extends DateAudit {
  @PrimaryGeneratedColumn()
  id: number;
  @Column()
  body: string;
  @Column({
    default: 0,
  })
  viewCount: number;
  @ManyToOne(() => Post, (post) => post.paragraphs)
  @JoinColumn({ name: 'post_id' })
  post: Post;
  @OneToMany(() => Comment, (comment) => comment.paragraph)
  comments: Comment[];
  @PolymorphicChildren(() => Like, { eager: true })
  likes: Like[];
}likes.entity.ts
import { Column, ManyToOne, Entity, PrimaryGeneratedColumn } from 'typeorm';
import { DateAudit } from '@entities/date-audit.entity';
import { Paragraphs as Paragraph } from '@paragraphs/paragraphs.entity';
import { PolymorphicChildInterface } from 'typeorm-polymorphic/dist/polymorphic.interface';
import { PolymorphicParent } from 'typeorm-polymorphic';
@Entity()
export class Likes extends DateAudit implements PolymorphicChildInterface {
  @PrimaryGeneratedColumn()
  id: number;
  @PolymorphicParent(() => [Paragraph], { eager: false })
  owner: Paragraph;
  @Column({ name: 'entity_id', nullable: true, type: 'int' })
  entityId: number;
  @Column({ name: 'entity_type', nullable: true })
  entityType: string;
}posts.entity.ts
import {
  Column,
  Entity,
  JoinColumn,
  ManyToOne,
  OneToMany,
  PrimaryGeneratedColumn,
} from 'typeorm';
import { DateAudit } from '@entities/date-audit.entity';
import { Presses as Press } from '@presses/presses.entity';
import { Paragraphs as Paragraph } from '@paragraphs/paragraphs.entity';
import { Categories as Category } from '@categories/categories.entity';
@Entity()
export class Posts extends DateAudit {
  @PrimaryGeneratedColumn()
  id: number;
  @Column({ nullable: true })
  title: string;
  @ManyToOne(() => Press, (press) => press.posts)
  @JoinColumn({ name: 'press_id' })
  press: Press;
  @Column({ nullable: true })
  image: string;
  @OneToMany(() => Paragraph, (paragraph) => paragraph.post)
  paragraphs: Paragraph[];
  @ManyToOne(() => Category, (category) => category.posts)
  @JoinColumn({ name: 'category_id' })
  category: Category;
}posts.repository.ts
import {
  getConnection,
  EntityRepository,
  In,
  Repository,
  getRepository,
} from 'typeorm';
import { Likes as Like } from '@likes/likes.entity';
import { Comments as Comment } from '@comments/comments.entity';
import { Paragraphs as Paragraph } from '@paragraphs/paragraphs.entity';
import { AbstractPolymorphicRepository } from 'typeorm-polymorphic';
import { Posts as Post } from './posts.entity';
@EntityRepository(Post)
export class PostsRepository extends AbstractPolymorphicRepository<Post> {
  async findById(id: number): Promise<Post> {
    const post = await getRepository(Post)
      .createQueryBuilder('post')
      .leftJoinAndSelect('post.paragraphs', 'paragraphs')
      .innerJoinAndSelect('paragraphs.comments', 'comments')
      .leftJoinAndSelect(
        'paragraphs.likes',
        'likes',
      )
      .where('post.id = :id', { id })
      .getOne();
    return post;
  }
}i want use 'paragraphs.likes' in PostsRepository
but it always return [ExceptionsHandler] Relation with property path likes in entity was not found.
plz help me i want use this
NenadJovicic, kshinde-mdsol, codeholic and YuriMooveup
Metadata
Metadata
Assignees
Labels
No labels