1. import { Column, Entity, ManyToOne, PrimaryGeneratedColumn } from "typeorm";
  2. import { UserEntity } from "./user.entity";
  3. @Entity('content_1')
  4. export class Content {
  5. @PrimaryGeneratedColumn()
  6. id: number;
  7. @Column()
  8. name: string
  9. // 本表多个 查询 user表一个
  10. @ManyToOne(() => UserEntity, user => user.content)
  11. user: UserEntity
  12. }

外联

LEFT JOIN 外联。如果user里面没有值,也会返回content数据

  1. return await getRepository(Content)
  2. .createQueryBuilder('content')
  3. .leftJoinAndSelect('content.user','user') // 外联
  4. .where('content.name = :name',{name:333})
  5. .getMany()
  6. // 查询到的数据
  7. {
  8. "code": 2000,
  9. "message": "请求成功!",
  10. "time": "2021-03-21T05:32:08.898Z",
  11. "data": [
  12. {
  13. "id": 3,
  14. "name": "333",
  15. "user": null
  16. }
  17. ]
  18. }

内联

INNER JOIN 内联,如果user里面没有数据,则不显示content数据

  1. return await getRepository(Content)
  2. .createQueryBuilder('content')
  3. .innerJoinAndSelect('content.user','user') // 内联
  4. .where('content.name = :name',{name:333})
  5. .getMany()
  6. // 查询到的结果
  7. {
  8. "code": 2000,
  9. "message": "请求成功!",
  10. "time": "2021-03-21T05:33:56.349Z",
  11. "data": []
  12. }