我正在尝试使用一个sonata_type_collection
字段来列出与食谱相关的成分。遇到两个问题:
sortable 参数适用于拖放重新排序,但我无法让关联中的项目实际按该列排序。
删除复选框不适用于删除关联。
关联是 a ManyToOne
,因为引用表的数据不仅仅是对 Recipe 表的简单引用,否则我会使用 a ManyToMany
。
该sortable
参数运行良好,使行可拖动,但成分列表未按该列排序。因此,尽管它position
按应有的方式保存列,但实际上并没有按该顺序显示它们。
我试图找到一种简单的方法来连接PersistentCollection
它以过滤它。我找到了有效的matching()
函数,但它不会修改底层集合,它只是返回一个ArrayCollection
. 这不起作用,因为我不能PersistentCollection
用ArrayCollection
.
删除功能也不能开箱即用。我必须手动覆盖RecipeAdmin::preUpdate($object)
并手动删除已删除的成分并刷新实体管理器。
我觉得应该有一个更简单的方法来完成这一切。
更新:我@OrderBy
今天发现了解决排序问题的注释