2014-08-29 113 views
-1

我正在使用Symfony 2.5構建一個Web應用程序。我目前正在努力處理內部轉發請求,並附上POST/PUT表單數據。關於這一點,我有一個以前的問題通過Cerad解決。對於完整的故事看到:從表單對象中提取數據作爲數組數組

Subrequests with post vars

但現在,我已經轉發的解決方案,我似乎無法能夠找到一種方法來提取表單數據值的數組,可以連接到子請求。我嘗試使用Form::getData(),但它返回了一個實體,我也嘗試使用Form::all()但我得到一個Form對象的數組。我可以迭代所有這些以獲得表單中的有效值,但我覺得應該有更好的解決方案。

有什麼想法?

回答

0

如果您執行HTTP重定向,您需要將所有表單數據保存到會話,然後重定向並從會話中讀取它。

UPD:我發現在文檔章節,可以幫助您Using a Form without a Class

這其實是很容易的:

他們說。 如果它沒有幫助,你可以嘗試一種轉換方法。

簡單 「鑄造」(內部父對象的對象保持爲對象):

$array = (array) $object; 

,或者使用get_object_vars()

$array = get_object_vars($object); 

或使用ArrayObject

$arrayObject = new ArrayObject($object); 
$array = $arrayObject->getArrayCopy(); 

最後JSON編碼/解碼

$array = json_decode(json_encode($object), true); 
+0

正如問題所述,我不是重定向我轉發(內部),所以沒有新的請求從瀏覽器。 – 2014-08-30 07:06:33

+0

我的更新是否有意義? – Yaroslav 2014-09-01 09:58:54

+0

嗨,我認爲JSON編碼/解碼可能是解決方案,但我的架構不同,因爲不必在控制器之間轉發請求。但我會盡力嘗試 – 2014-09-18 07:46:53