2013-06-05 108 views
0

我是使用zend框架的新手,而且真的很掙扎。我也是與MVC合作的新手。Zend計數受影響的行

我已經創建了一個簡單的CRUD應用程序,並在更新部分工作。更新數據庫工作正常,但我現在想添加一個工具,在向用戶輸出成功消息之前檢查更新是否成功。

我已經連接到數據庫DBTABLE和硬編碼的一些信息,用於測試

public function updateRow() 
    { 
    $update = new Application_Model_DbTable_Bins(); 

    $data = array(
     'BIN' => 'any', 
     'DIVIDE' => 'two', 
     'TYPE' => 'test', 
     'STYLE' => 'none', 
     'PRICE' => 'unknown', 
     'STORAGE' => 'none', 
     'BIN_ID' => 1 
    ); 

    $where = $update->getAdapter()->quoteInto('BIN_ID = ?', 1); 

    $update->update($data, $where); 

} 

我的問題是:

如何檢查是否行已被更新?

上面的代碼應該在模型中,因爲它正在處理數據庫?

我應該計算模型或控制器中的行嗎?

我正在使用zend版本1.12。

我已經看過快速入門指南,但它似乎沒有提到這一點,我看過other zend documentation,但很難理解它。

最後,我使用NetBeans,因此傾向於依賴彈出框來說明哪些方法可用,而我知道這並不完美。

回答

2

線:

$update->update($data, $where); 

返回受影響的行數。您可以使用:

$nbRows = $update->update($data, $where); 

return $nbRows; 

通過更新返回受影響的行數。

在NetBeans中,您在彈出窗口中看到的註釋是Zend Framework本身的文檔。您在彈出窗口中看到的是位於ZF源代碼中的函數之前的註釋。編碼時,應使用這種類型的評論也:

/** 
* This function does something useful 
* @params int $param1 An integer 
* @return int The transformed integer 
**/ 
public function usefulFunction($param1) { 
    return $param1 + 1; 
} 

這樣一來,你會看到在NetBeans您的意見時,你正在使用自己的函數。

所有這一切,我的觀點是,NetBeans中的ZF通常對彈出窗口非常準確。只要不要忘記檢查你使用的函數的返回值!

+0

只需添加 - 您將在其他IDE中看到這些「註釋」。比如'Eclipse',甚至是'vim'環境,如果設置正確.. –

+0

謝謝你的迴應。但是我已經查看了zend框架的文檔,並且似乎有用於檢查行是否已被更改的工具。我正在努力的是爲什麼我沒有這個代碼塊中的這個選項? – tony09uk

+0

joellord道歉,重新讀你的答案後,我明白你的觀點。感謝您的幫助。 – tony09uk