0

我是使用 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 版。

我查看了快速入门指南,但似乎没有提及这一点,并且我查看了其他 zend 文档,但很难理解它。

最后,我使用 NetBeans,因此倾向于依赖弹出框来说明哪些方法可用,我知道这并不完美。

4

1 回答 1

2

该行:

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

返回受影响的行数。您可以使用:

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

return $nbRows;

返回更新受影响的行数。

在 NetBeans 中,您在弹出窗口中看到的注释是来自 Zend 框架本身的文档。您在弹出窗口中看到的是位于 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 非常准确。只是不要忘记检查您使用的函数的返回值!

于 2013-06-05T17:15:24.870 回答