Zend计数影响行

时间:2013-06-05 13:25:48

标签: php zend-framework model-view-controller

我是使用zend框架的新手,而且我真的很挣扎。我也是与MVC合作的新手。

我创建了一个简单的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,因此倾向于依赖弹出框说明哪些方法可用,我知道这些方法并不完美。

1 个答案:

答案 0 :(得分: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中,弹出窗口通常非常准确。只是不要忘记检查您使用的函数的返回值!