Я продолжаю получать эту ошибку в моих учителях.сервис:
Литерал объекта может указывать только известные свойства, а «id» не существует в типе «FindOptionsWhere | FindOptionsWhere[]'.ts(2353) FindOneOptions.d.ts(23, 5): ожидаемый тип происходит из свойства «where», которое объявлено здесь для типа «FindOneOptions». (имущество) идентификатор: номер Нет быстрых исправлений
import { Injectable } from '@nestjs/common';
import { InjectRepository } from '@nestjs/typeorm';
import { Repository, UpdateResult, DeleteResult } from 'typeorm';
import { Teacher } from '../entities/teacher.entity';
@Injectable()
export class TeachersService {
constructor(
@InjectRepository(Teacher)
private teachersRepository: Repository<Teacher>,
) {}
findAll(): Promise<Teacher[]> {
return this.teachersRepository.find();
}
async findOne(id: number): Promise<Teacher | null> {
return this.teachersRepository.findOne({
where: {
id,
},
});
}
create(teacher: Teacher): Promise<Teacher> {
return this.teachersRepository.save(teacher);
}
async update(id: number, teacher: Teacher): Promise<Teacher> {
await this.teachersRepository.update(id, teacher);
return this.findOne(id);
}
async remove(id: number): Promise<void> {
await this.teachersRepository.delete(id);
}
}
Сущность моего учителя:
import { Entity, Column, PrimaryGeneratedColumn, OneToMany } from 'typeorm';
import { Class } from './class.entity';
@Entity()
export class Teacher {
@PrimaryGeneratedColumn()
teacher_id: number;
@Column()
teacher_name: string;
@Column()
teacher_lastname: string;
@Column()
teacher_email: string;
@OneToMany(() => Class, (classEntity) => classEntity.teacher)
classes: Class[];
}
это мой учитель: import {Entity, Column, PrimaryGeneratedColumn, OneToMany} from 'typeorm'; импортировать {Класс} из './class.entity'; @Entity() класс экспорта Учитель { @PrimaryGeneratedColumn() Teacher_id: число; @Column() имя_учителя: строка; @Column() фамилия_учителя: строка; @Column() Teacher_email: строка; @OneToMany(() => Класс, (classEntity) => classEntity.teacher) классы: Class[]; }
Предпочтительно редактировать свой пост при добавлении большого куска кода — он намного читабельнее — см. мое редактирование.
удалить | нулевой
Поле id
не существует на Teacher
.
В вашем условии where
вы можете указать только те поля, которые действительно существуют в вашей сущности.
async findOne(id: number): Promise<Teacher | null> {
return this.teachersRepository.findOne({
where: {
id,
},
});
}
Пожалуйста, опубликуйте
Teacher
объект