Есть уже созданная база данных. И я хочу получить данные оттуда. Когда я выполняю запрос только для теста, он всегда дает пустое значение:
{
"users": []
}
Почему это происходит?
организация:
import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";
@Entity()
export class User {
@PrimaryGeneratedColumn("uuid") user_id: number;
@Column("varchar2", { length: 100 }) login: string;
@Column("varchar2", { length: 100 }) email: string;
@Column("varchar2", { length: 50 }) phone: string;
@Column() roles_id: number;
@Column("varchar2", { length: 500 }) password: string;
}
контроллер:
import { Request, Response } from "express";
import { User } from "../entity/User";
import { getRepository } from "typeorm";
class UserController {
public async getUsers(req: Request, res: Response) {
let users = await getRepository(User).find();
await res.status(200).json({ users: users })
}
}
const userController = new UserController();
export default userController;





Убедитесь, что ваша сущность ссылается на правильную таблицу. Вы явно не указали name в объявлении своего объекта, поэтому по умолчанию будет user (форма единственного числа, а не user(s) множественного числа).
Если ваша таблица на самом деле называется users, вам нужно указать это в декораторе @Entity:
@Entity({ name: 'users' })
export class User { ... }
Есть ли способ сделать это поведением по умолчанию? Я чувствую, что это стандартная схема. Единственное число в модели, но множественное число в db для таблицы.