#node.js #crud #loopback #v4l2loopback
#node.js #crud #обратная связь #v4l2loopback
Вопрос:
У меня есть эта модель
import {Entity, model, property} from '@loopback/repository';
@model()
export class Coupon extends Entity {
@property({
id: true,
type: 'string',
required: false,
mongo: {
columnName: '_id',
dataType: 'ObjectID',
},
})
id: string;
@property({
type: 'string',
required: true,
})
name: string;
@property({
type: 'number',
required: true,
})
maximumUses: number;
@property({
type: 'string',
required: true,
})
type: string;
@property({
type: 'number',
required: true,
})
amount: number;
@property({
type: 'number',
required: true,
})
maximumUsesPerPerson: number;
@property({
type: 'string',
required: true,
})
validFrom: string;
@property({
type: 'string',
required: true,
})
validTo: string;
@property({
type: 'number',
required: true,
})
currentTotalUses: number;
@property({
type: 'array',
itemType: 'string',
})
certainDays?: string[];
@property({
type: 'array',
itemType: 'string',
})
certainHours?: string[];
@property({
type: 'boolean',
required: true,
})
valid: boolean;
@property({
type: 'array',
itemType: 'string',
})
clients?: string[];
@property({
type: 'disabled',
required: true,
})
disabled: boolean;
constructor(data?: Partial<Coupon>) {
super(data);
}
}
репозиторий для модели
import {DefaultCrudRepository} from '@loopback/repository';
import {Coupon} from '../models';
import {TestDataSource} from '../datasources';
import {inject} from '@loopback/core';
export class CouponRepository extends DefaultCrudRepository<
Coupon,
typeof Coupon.prototype.id
> {
constructor(
@inject('datasources.test') dataSource: TestDataSource,
) {
super(Coupon, dataSource);
}
}
теперь следующая функция должна работать хорошо
await this.couponsRepo.create({ name: 'string',
maximumUses: 0,
maximumUsesPerPerson: 0,
amount: 0,
validFrom: 'string',
validTo: 'string',
type: 'percentage',
valid: true,
currentTotalUses: 0,
disabled: false });
но она выдает эту ошибку
Ошибка ссылки: g не определен при new disabled (оценка при createModelClassCtor (../LBIssue/lbissue/node_modules/loopback-datasource-juggler/lib/model-builder.js:678:21), :10:27)
чтобы просто выдать эту ошибку, создайте пустой проект loopback 4, затем поместите coupon model = с кодом, который я предоставил
Ответ №1:
В определении вашей модели ошибка.
Смотрите это
@property({
type: 'disabled',
required: true,
})
disabled: boolean;
тип не может быть отключен. Это должно быть
@property({
type: 'boolean',
required: true,
})
disabled: boolean;