簡體   English   中英

如何在 typeOrm 上建立關系

[英]how to make relationship on typeOrm

如何定義關系?

@Entity('favoritesable')
export class FavoritesEntity extends BaseEntity {
  @PrimaryGeneratedColumn()
  id: number;

  @Column()
  favoritesableId: number; // foreing key ( ads id, blog id, user id )

  @Column()
  favoritesableType: string; // ads, blog, user

  @Column()
  userId: number;
}

廣告實體:

@Entity('ads')
export class AdsEntity extends BaseEntity {
  @PrimaryGeneratedColumn()
  id: number;

  // How do I define a relationship to FavoritesEntity ?

}

收藏表的數據示例:

{id: 1, favoritesableId: 1, favoritesableType: "ads", userId: 1},
{id: 2, favoritesableId: 4, favoritesableType: "ads", userId: 1},
{id: 3, favoritesableId: 1, favoritesableType: "ads", userId: 2},

如何在廣告實體和收藏實體上建立這種關系?

TypeORM 的文檔非常清楚地展示了如何在實體之間建立關系。

從他們的文檔中提取的示例:

import {Entity, PrimaryGeneratedColumn, Column, ManyToMany} from "typeorm";
import {Question} from "./Question";

@Entity()
export class Category {

    @PrimaryGeneratedColumn()
    id: number;

    @Column()
    name: string;

    @ManyToMany(type => Question, question => question.categories)
    questions: Question[];

}
import {Entity, PrimaryGeneratedColumn, Column, ManyToMany, JoinTable} from "typeorm";
import {Category} from "./Category";

@Entity()
export class Question {

    @PrimaryGeneratedColumn()
    id: number;

    @Column()
    title: string;

    @Column()
    text: string;

    @ManyToMany(type => Category, category => category.questions)
    @JoinTable()
    categories: Category[];

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM