2013-10-18 75 views
1

我正在嘗試使用sonata_type_collection字段查看與配方關聯的配料列表。運行到兩個問題:索納塔管理員收藏排序和刪除

  1. 的排序參數,適用於拖/放重新排序,但我不能按該列得到 項目的關聯實際上排序。

  2. 刪除複選框不適用於刪除關聯。

該協會是一個ManyToOne,因爲參考表已經不僅僅是一個簡單的參考配方表的詳細數據,否則我會使用一個ManyToMany

sortable參數很好地工作,使行可拖動,但成分列表不是排序該列。因此,雖然它應該保存position列,但實際上並沒有按照該順序顯示它們。

我試圖找到一個簡單的方法掛鉤到PersistentCollection爲了過濾它。我發現matching()函數可以工作,但它不會修改底層集合,它只會回退ArrayCollection。這是行不通的,因爲我無法用ArrayCollection代替PersistentCollection

此外,刪除功能沒有開箱即用。我必須手動覆蓋RecipeAdmin::preUpdate($object)並手動刪除已刪除的成分並刷新實體管理器。

我覺得應該有一個更簡單的方法來做到這一點。

更新:我今天解決了排序問題

回答

2

務必確保設置orphanRemoval =您的一對多字段定義或刪除複選框將無法正常工作真正發現@OrderBy註解。

+0

謝謝!我最近沒有和Symfony一起工作過,所以我可能需要一點時間來檢查這個。但是,謝謝! – kalenjordan