ガイドtypeormに一致: https://github.com/typeorm/typeorm/blob/master/docs/select-query-builder.md#inner-and-left-joins
この部分はよくわかりません。
(type => Photo, photo => photo.user)
タイプとはどういう意味ですか?写真=>写真の意味は何ですか。 ? 。リンクで説明するのはよくありません。
部分コード:
Import {Entity, PrimaryGeneratedColumn, Column, OneToMany} from "typeorm";
import {Photo} from "./Photo";
@Entity()
export class User {
@PrimaryGeneratedColumn()
id: number;
@Column()
name: string;
@OneToMany(type => Photo, photo => photo.user)
photos: Photo[];
}
そしてコード上:
const user = await createQueryBuilder("user")
.leftJoinAndSelect("user.photos", "photo")
.where("user.name = :name", { name: "Timber" })
.getOne();
「user.photos」はどこから来るのですか?
最初の質問:_(type => Photo, photo => photo.user)
_
_@OneToMany
_のデコレータは2つの関数を使用します。最初の関数は関連するエンティティを返し、2番目の関数は関連するエンティティの「外部キー」プロパティを返します。 「タイプ」は使用されていないため、実際には必要ありません。 @OneToMany(()=> Photo, photo => photo.user)
を使用してタイプを完全に省略しました私にとっては問題になりませんでした。
2番目の質問:_where comes "user.photos"
_
leftJoinAndSelect("user.photos", "photo")
は、Userエンティティで定義されたプロパティphotos
を参照します。これは、Userクラスの最後の行です。