集合类型新增元素关系null
Collection type new added elements relation null
我有一个实体教室,里面有很多学生实体,一个学生只属于一个教室
我的课堂形式:
$builder
->add('name')
->add('students', CollectionType::class, [
'entry_type' => StudentType::class,
'allow_add' => true,
'allow_delete' => true,
])
;
添加新学生时,classroom students 集合中有新添加的学生,而 new students 字段 classroom 为 NULL,我在我的 classroom 实体上添加了事件级联持久化
@ORM\OneToMany(targetEntity=Student::class, mappedBy="classroom", orphanRemoval=true, cascade={"persist"})
但我仍然收到错误消息,新生的课堂字段为 NULL
Column 'classroom_id' cannot be null
有谁知道为什么吗?
实际上 symfont 不会调用你的方法 addStudent
,因为选项 by_reference
默认有 true
,所以要强制 symfony 使用你的方法,你必须设置 by_reference
到 false
.
->add('students', CollectionType::class, [
'entry_type' => StudentType::class,
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false,
])
我有一个实体教室,里面有很多学生实体,一个学生只属于一个教室
我的课堂形式:
$builder
->add('name')
->add('students', CollectionType::class, [
'entry_type' => StudentType::class,
'allow_add' => true,
'allow_delete' => true,
])
;
添加新学生时,classroom students 集合中有新添加的学生,而 new students 字段 classroom 为 NULL,我在我的 classroom 实体上添加了事件级联持久化
@ORM\OneToMany(targetEntity=Student::class, mappedBy="classroom", orphanRemoval=true, cascade={"persist"})
但我仍然收到错误消息,新生的课堂字段为 NULL
Column 'classroom_id' cannot be null
有谁知道为什么吗?
实际上 symfont 不会调用你的方法 addStudent
,因为选项 by_reference
默认有 true
,所以要强制 symfony 使用你的方法,你必须设置 by_reference
到 false
.
->add('students', CollectionType::class, [
'entry_type' => StudentType::class,
'allow_add' => true,
'allow_delete' => true,
'by_reference' => false,
])