我正在開發一個CodeIgniter網站。這是一種基本的,除了它有一些巨大的形式(150場)一些動態創建/鎖定/預定義/刪除等。CodeIgniter MVC數據操作最佳方法
我有麻煩做表單和數據庫之間的過渡,當然是非常複雜。我的意思是表單的提交在一些表格中插入了多行,並且一些數據甚至沒有保存。 (一些單選按鈕等)
我人爲了利用填補與$_POST
數據創建一個非常大的對象與儘可能多的性能儘可能的形式輸入的名字命名的:
foreach ($largeObj as $key=>$value)
{
if (isset($_POST[$key])){
$largeObj[$key]=$value; //mind the data escaping
}
}
當然這只是一半的投入工作,換了別人,我需要做這樣的事情:
$largeObj['tanks']=Array();
for ($i=0;$i<$_POST['nbrTanks'];$i++){
$tank=new Tank();
// some if's in order to set some properties
$largeObj['tanks'][]=$tank;
}
然後我做所有的計算和準備我的DTO在每個表中插入相應數據。順便說一句我用PHPDAO來映射數據庫表,因爲它們有點太大,不能寫出整個CRUD操作。
有沒有更好的方法?一些註釋驅動或更有效的方式,因爲我還需要填充來自我的數據庫的數據的整個表單。歡迎任何建議。
謝謝..我已經使用$ array = $ this-> input-> post(NULL,True);至於匹配不可能的表單的列。有太多的邏輯正在進行..我試圖讓過渡更有效率:表格 - (保存和操作數據) - >大對象-----(準備DTO的)---->數據庫 – Samson 2012-07-30 22:16:00
那麼我的答案中的第一個代碼片段應該會讓你更簡單,所以你不會執行無意義的代碼迭代。 – David 2012-07-30 22:17:00