nm関係をサポートするために、shelf、section、shelf_has_section中間テーブルの3つのテーブルがあります。symfony doctrine:build-schemaからのスキーマビルドは次のようになります。
単に、
shelf(id, position)
section(id, name)
shelf_has_section(shelf_id, section_id, number_of_books)
スキーマ。
Shelf:
connection: doctrine
tableName: shelf
columns:
id:
type: integer(4)
fixed: false
unsigned: true
primary: true
autoincrement: true
position:
type: string(255)
primary: false
notnull: true
autoincrement: false
relations:
ShelfHasSection:
local: id
foreign: shelf_id
type: many
Section:
connection: doctrine
tableName: section
columns:
id:
type: integer(1)
primary: true
autoincrement: false
name:
type: string(20)
primary: false
notnull: true
relations:
ShelfHasSection:
local: id
foreign: section_id
type: many
ShelfHasSection:
connection: doctrine
tableName: shelf_has_section
columns:
shelf_id:
type: integer(4)
primary: true
autoincrement: false
section_id:
type: integer(1)
primary: true
autoincrement: false
number_of_books:
type: integer(4)
primary: false
notnull: false
autoincrement: false
relations:
Shelf:
local: shelf_id
foreign: id
type: one
Section:
local: section_id
foreign: id
type: one
スキーマのShelfに次の関係を追加することで、セクションをチェックボックスリストとして表示することができました。また、本の数を入力するために、セクションのチェックボックスの前にテキストフィールドを表示する必要があります。
Sections:
class: Section
refClass: ShelfHasSection
local: shelf_id
単に、利用可能なセクションのチェックボックスのリストをチェックして、チェックしたセクションの本の数を追加するようなものです。
embedRelation()などで作成しようとしましたが、symfonyの知識が不足しているためにそこに到達できません。どんな助けでも大歓迎です。