Create Models & Queries
foal generate entity my-entity
Entities
Simple models are called entities in TypeORM. You can generate one with the above command.
Example:
import { Column, Entity, PrimaryGeneratedColumn } from 'typeorm';
@Entity()
export class Product {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@Column()
price: number;
}
The class Product represents the database table and its instances represent the table rows.
In FoalTS, entity files should always be named with the extension
.entity.ts. This way the CLI can find the entities when automatically generating migrations.
Using Entities
import { getRepository } from 'typeorm';
const repository = getRepository(Product);
const product = new Product();
product.name = 'chair';
product.price = 60;
await repository.save(product);
const products = await repository.find();
// find by id:
const firstProduct = await repository.findOne(1);
const chair = await repository.findOne({ name: 'chair' });
await repository.remove(chair);
Queries
import { getRepository } from 'typeorm';
const firstProduct = await getRepository(Product)
.createQueryBuilder('product')
.where('product.id = :id', { id: 1 })
.getOne();