rjm*_*nro 9 php symfony doctrine-orm
在Symfony2中,如果我在Doctrine中嵌入指向多对一关系的表单集合并允许添加和删除,如果我从头开始删除一条记录,最后添加一条,并在中间编辑一些如何系统知道哪些记录要更新哪些数据?
教程中没有任何内容可以传递嵌入数据的主键.在某些情况下,我的记录会被不必要地删除并再次添加而不是编辑到位(即使特定记录没有变化).这会破坏表单上未包含的记录中的字段,并将其设置为数据库模型中的默认值.
有没有办法在表单中传递主键并在数据恢复时用它来执行更新?
传递主 id 的一种方法是使用INDEX BY。
例如,假设我有一个名为“客户”的实体,并且客户有多个电子邮件。在我的客户存储库类中,我可以指定我的集合按电子邮件的主 ID 建立索引。
$qb->select('c, e')
->leftJoin('c.emails', 'e', null, null, 'e.id')
->where('c.id = :id');
Run Code Online (Sandbox Code Playgroud)
通过这样做,输入标签的生成名称将是
customer[emails][e.id][fieldName]
Run Code Online (Sandbox Code Playgroud)
提交表单后,Symfony 将根据输入名称绑定请求值。
| 归档时间: |
|
| 查看次数: |
1231 次 |
| 最近记录: |