Я настраиваю отношения "многие ко многим" в моем приложении loopback 4. В настоящее время я использую этот ответ в качестве руководства, но после создания репозитория и контроллера я не знаю, как продолжить.
В настоящее время у меня есть три таблицы для отношения: Course
, Language
и LanguageCourse
. Это означает, что Course
может иметь много языков, а Language
может принадлежать многим курсам.
Мой language-course.model.ts
выглядит так:
import {Course} from './course.model';
import {Language} from './language.model';
@model({settings: {}})
export class LanguageCourse extends Entity {
@property({
type: 'number',
id: true,
})
id?: number;
@belongsTo(() => Course)
courseId?: number;
@belongsTo(() => Language)
languageId?: number;
constructor(data?: Partial<LanguageCourse>) {
super(data);
}
}
export interface LanguageCourseRelations {
// describe navigational properties here
}
export type LanguageCourseWithRelations = LanguageCourse &
LanguageCourseRelations;
Мой course.model.ts выглядит так (я уже установил отношение один ко многим в этой модели):
import {User, UserWithRelations} from './user.model';
@model({settings: {}})
export class Course extends Entity {
@property({
type: 'number',
id: true,
})
id?: number;
@property({
type: 'string',
})
name?: string;
@property({
type: 'string',
})
description?: string;
@belongsTo(() => User)
userId?: number;
@property({
type: 'string',
default: 'active',
})
state?: string;
@property({
type: 'string',
default: 'rookie',
})
level?: string;
@property({
type: 'string',
})
course_photo?: string;
constructor(data?: Partial<Course>) {
super(data);
}
}
export interface CourseRelations {
user?: UserWithRelations;
}
export type CourseWithRelations = Course & CourseRelations;
А мой language.model.ts выглядит так:
@model({settings: {}})
export class Language extends Entity {
@property({
type: 'number',
id: true,
})
id?: number;
@property({
type: 'string',
})
name?: string;
constructor(data?: Partial<Language>) {
super(data);
}
}
export interface LanguageRelations {
// describe navigational properties here
}
export type LanguageWithRelations = Language & LanguageRelations;
Я хотел бы сделать GET
запрос, например, к /courses/{id}
конечной точке (а также /courses
) и получить в ответ все языки, которые есть в курсе, но я не знаю, как заставить его работать. Также я хотел бы, чтобы это работало в /languages
конечной точке.
Спасибо за ваше время!