Задать вопрос
@Zomdies

Как создать связь многие ко многим, через одну таблицу?

Нужно с помощью подхода CodeFirst описать модель. Имеется пользователь, и у него должно быть роле friends, которое и будет ссылать нас на пользователя. Я создал 2 модели, но ни как не могу понять как их связать. Как мне настроить ассоциацию ?
Модель User
60c2494759df7826347284.png
Модель Friend
60c249695f8f8255927260.png

@Table({tableName: 'friends', createdAt: false, updatedAt: false})
export class Friend extends Model<Friend,FriendCreationAttrs> {

    
    @Column({type: DataType.INTEGER, unique: true, primaryKey: true, autoIncrement: true})
    id: number;

    @ForeignKey(() => User)
    @Column({type: DataType.INTEGER})
    UserIdFrom: number;

    @ForeignKey(() => User)
    @Column({type: DataType.INTEGER})
    UserIdTo: number;
}


@Table({tableName: 'users',createdAt: false, updatedAt: false})
export class User extends Model<User, UserCreationAttrs> {


    @Column({type: DataType.INTEGER, unique: true, primaryKey: true, autoIncrement: true})
    id: number;

    @Column({type: DataType.STRING, unique: true, allowNull: false})
    email: string;

    @Column({type: DataType.STRING, allowNull: false})
    password: string;
}
  • Вопрос задан
  • 103 просмотра
Подписаться 1 Средний 2 комментария
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Мидл фронтенд-разработчик
    5 месяцев
    Далее
  • Яндекс Практикум
    Фулстек-разработчик
    16 месяцев
    Далее
  • Яндекс Практикум
    Профессиональная вёрстка на HTML и CSS
    3 месяца
    Далее
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы