此問題之前詢問。但是與使用fieldset相關的問題/解決方案或者它們比較老,並且使用來自ZF2早期版本的技術。現在我知道http://framework.zend.com/manual/2.3/en/modules/zend.form.advanced-use-of-forms.html。但是解決方案與使用FormElementManager綁定字段集來形成相關。對於最近的大多數問題重新編寫創建動態表單下拉菜單也是如此。如何填充表單從模型中選擇Zend框架2
但是我有3下拉領域,從數據庫獲取數據的形式。到現在爲止,我可以選擇通過控制器將DB Adapter傳遞給Form的構造函數。但現在我想用更好的方式來填充下拉列表,最好是FormElementManager,但不使用Fieldsets。
如果真的能夠建立這樣的系統?
這不起作用,因爲所有的表單元素初始化都是在第一個被調用的構造函數中完成的。所以DB適配器沒有在那個時間設置。所以代碼會拋出錯誤。 – 2014-09-05 07:23:59
您可以輕鬆地將您的DB適配器的形式構造以同樣的方式,見上編輯答案: $形式=新\ myNameSpace對象\ MyForm的($ SM-> GET( 'my_db_adapter')); – matwr 2014-09-05 07:47:14
這種方法可行,但這裏需要注意的一點是,我需要通過模型而不是DB適配器作爲代碼質量要求。然後,由於表單需要更多的動態下拉列表,因爲構造函數有更多的參數(如'__construct(ModelA,ModelB,ModelC,ModelD)'),它看起來很醜。通過他們陣列也有相同的醜陋水平。 – 2014-09-05 09:37:42