import { User } from "./User";
@Entity()
export class Photo {
@PrimaryGeneratedColumn()
id: number;
@Column()
@ManyToOne(type => User, user => user.photos)
user: User;
}
现在让我们假设你要用用户”Timber”加载他所有的 photos:
{
id: 1,
name: "Timber",
photos: [{
id: 1,
id: 2,
url: "me-with-trees.jpg"
}]
}
你可以看到leftJoinAndSelect
自动加载了所有 Timber 的 photos。第一个参数是你要加载的关系,第二个参数是你为此关系的表分配的别名。你可以在查询构建器中的任何位置使用此别名。例如,让我们获得所有未删除的 Timber 的 photos。
SELECT user.*, photo.* FROM users user
LEFT JOIN photos photo ON photo.user = user.id
WHERE user.name = 'Timber' AND photo.isRemoved = FALSE
你还可以向连接表达式添加条件,而不是使用”where”:
SELECT user.*, photo.* FROM users user
WHERE user.name = 'Timber'