Skip to content

Commit 43e3b25

Browse files
committed
prepared demo for Active Record pattern
1 parent 4821ce5 commit 43e3b25

4 files changed

Lines changed: 8 additions & 13 deletions

File tree

src/entities/author.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
import {Entity, Column, PrimaryGeneratedColumn, OneToMany} from "typeorm";
1+
import {BaseEntity, Entity, Column, PrimaryGeneratedColumn, OneToMany} from "typeorm";
22
import {Post} from "./post";
33

44
@Entity('author')
5-
export class Author {
5+
export class Author extends BaseEntity {
66

77
@PrimaryGeneratedColumn()
88
id: number;

src/entities/category.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
1-
import {Entity, PrimaryGeneratedColumn, Column} from "typeorm";
1+
import {BaseEntity, Entity, PrimaryGeneratedColumn, Column} from "typeorm";
22

33
@Entity('category')
4-
export class Category {
4+
export class Category extends BaseEntity {
55

66
@PrimaryGeneratedColumn()
77
id: number;

src/entities/post.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
import {Entity, PrimaryGeneratedColumn, Column, ManyToMany, JoinTable, ManyToOne} from "typeorm";
1+
import {BaseEntity, Entity, PrimaryGeneratedColumn, Column, ManyToMany, JoinTable, ManyToOne} from "typeorm";
22
import {Category} from "./category";
33
import {Author} from "./author"
44

55
@Entity('post')
6-
export class Post {
6+
export class Post extends BaseEntity {
77

88
@PrimaryGeneratedColumn()
99
id: number;

src/pages/home/home.ts

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -37,17 +37,12 @@ export class HomePage {
3737
post.categories = [category1, category2];
3838
post.author = author;
3939

40-
const postRepository = getRepository('post') as Repository<Post>;
41-
await postRepository.save(post);
40+
await post.save();
4241

4342
console.log("Post has been saved");
4443
this.savedPost = true;
4544

46-
const loadedPost = await postRepository.createQueryBuilder('post')
47-
.innerJoinAndSelect('post.author', 'author')
48-
.innerJoinAndSelect('post.categories', 'categories')
49-
.where('post.id = :id', {id: post.id})
50-
.getOne();
45+
const loadedPost = await Post.findOne({relations: ['author', 'categories'], where: {id: post.id}});
5146

5247
console.log("Post has been loaded: ", loadedPost);
5348
this.loadedPost = loadedPost;

0 commit comments

Comments
 (0)