1. import { User } from "./User";
    2. @Entity()
    3. export class Photo {
    4. @PrimaryGeneratedColumn()
    5. id: number;
    6. @Column()
    7. @ManyToOne(type => User, user => user.photos)
    8. user: User;
    9. }

    现在让我们假设你要用用户”Timber”加载他所有的 photos:

    1. {
    2. id: 1,
    3. name: "Timber",
    4. photos: [{
    5. id: 1,
    6. id: 2,
    7. url: "me-with-trees.jpg"
    8. }]
    9. }

    你可以看到leftJoinAndSelect自动加载了所有 Timber 的 photos。第一个参数是你要加载的关系,第二个参数是你为此关系的表分配的别名。你可以在查询构建器中的任何位置使用此别名。例如,让我们获得所有未删除的 Timber 的 photos。

    1. SELECT user.*, photo.* FROM users user
    2. LEFT JOIN photos photo ON photo.user = user.id
    3. WHERE user.name = 'Timber' AND photo.isRemoved = FALSE

    你还可以向连接表达式添加条件,而不是使用”where”:

    1. SELECT user.*, photo.* FROM users user
    2. WHERE user.name = 'Timber'