2013-11-15 38 views
3

爲什麼?因爲,我想用它們爲一個表單附加多個模型/實體。我們可以爲一個zend form設置多個水化器嗎?

我在想什麼?在我看來,我必須在一個模型/實體中獲取所有數據,然後將其填充到多個表格中(使用Mapper或Gateway),但邏輯上來說,模型只能用於一個表格。

我建議的解決方案是什麼?因此,爲了在多個表中添加一個表單數據,我必須使用兩個模型。但是在ZF2中,表單可以使用$ form-> setHydrator有一個Hydrator。

我想知道什麼?任何其他可能性爲這個porblem。

謝謝。

回答

4

你有沒有考慮過使用formCollections?

基本上你會爲每個實體做一個fieldset,它有自己的字段和hydrator。然後製作一個包含這些字段集的表單。

很像教程這裏:http://framework.zend.com/manual/2.0/en/modules/zend.form.collections.html

(我在我的手機上現在這樣的例子是很難給,如果你需要我來闡述,讓我知道)

+0

大思路,形式已經使用fieldset和集合(關係),但我沒有使用hydrators。我在想AggregateHydrator是一個解決方案。讓我把他們的暱稱放在他們身上。謝謝。 :) – khunshan

+2

AggregateHydrator只是按順序通過一組水化器。但它一次只能填充一個對象。意思是你會說兩個水化器,它們爲不同的實體提供水合物,但仍然用於每個物體。這是不必要的開銷;)雖然,它可能會奏效! ;) –

相關問題