甲提交了關於我的網站表格修改單個參數返回請求的數據的數組,它是與Zend框架 - 如何從請求對象
$data = $this->getRequest();
這發生在採集到的數據,然後控制器可訪問的將此數組傳遞給我的模型,以便將其放入/更新到數據庫中。
這是問題所在。如果我想操作該數組中的某個值,該怎麼辦?以前我會提取每個值,將它們分配給一個新的數組,以便我能夠處理所需的數據。像這樣:
$data = $this->getRequest();
$foo['site_id'] = $data->getParam('site_id');
$foo['story'] = htmlentities($data->getParam('story'));
然後我將$ foo數組傳遞給模型,以便將數據放入/更新到數據庫中。
我所做的只是操縱那一個值('story'
param),因此看起來像浪費一個東西,然後重新分配,這樣我就可以做到這一點。另外,它不夠靈活,因爲我必須按名稱顯式訪問每個值。將整個請求傳遞給模型然後去掉數據庫不需要的東西會更好。
你會如何做到這一點?
我很困惑 - 模型(s)應該無法訪問/不應該關心請求對象... – 2010-09-14 00:13:43
請求由控制器處理,而不是模型。它獲取發佈的數據,然後將其發送到模型,以便它可以在數據庫中更新。所有上面的代碼都在控制器中,模型只執行'$ model-> update($ data);' – Lothar 2010-09-14 01:03:16