インタビューとコメントの 2 つのエンティティがあります。Interview は Comment と 1 対多の一方向の関係にあります。
コメント用の yaml マッピング ファイルは次のとおりです。
Entities\Comment:
type: entity
table: Comment
repositoryClass: Repositories\CommentRepository
fields:
id:
type: integer
id: true
generator:
strategy: AUTO
parentid:
type: integer
nullable: false
column: parentid
isactive:
type: integer
nullable: false
column: isactive
isremoved:
type: integer
nullable: false
column: isremoved
removaldate:
type: datetime
nullable: true
column: removaldate
user_name:
type: string
length: 255
nullable: false
column: user_name
user_email:
type: string
length: 255
nullable: false
column: user_email
user_avatar:
type: string
length: 255
nullable: false
column: user_avatar
comment:
type: text
nullable: false
column: comment
creationdate:
type: datetime
nullable: false
column: creationdate
rating:
type: integer
nullable: false
インタビュー用の yaml マッピング ファイルは次のとおりです。
Entities\Interview:
type: entity
table: Interview
repositoryClass: Repositories\InterviewRepository
fields:
id:
type: integer
id: true
generator:
strategy: AUTO
isremoved:
type: integer
nullable: false
column: isremoved
removaldate:
type: datetime
nullable: true
column: removaldate
creationdate:
type: datetime
nullable: false
column: creationdate
rating:
type: integer
nullable: false
anonstitle:
type: string
length: 1000
nullable: false
column: anonstitle
anons:
type: text
nullable: false
column: anons
anonsphoto:
type: string
length: 255
nullable: true
column: anonsphoto
interviewtitle:
type: string
length: 1000
nullable: false
column: interviewtitle
interview:
type: text
nullable: true
column: interview
interviewphoto:
type: string
length: 255
nullable: true
column: interviewphoto
manyToMany:
comments:
targetEntity: Comment
joinTable:
name: interviews_comments
joinColumns:
interview_id:
referencedColumnName: id
inverseJoinColumns:
comment_id:
referencedColumnName: id
unique: true
したがって、スキーマをデータベースにロードした後、3 つのテーブルがあります。そのうちの 2 つはエンティティのテーブルで、1 つは関係用で、interview_id、comment_id の 2 つの列しかありません。しかし、一部のインタビューのコメント オブジェクトを永続化した後、結合テーブルに何も表示されません。理由がわかりません。