【发布时间】:2012-05-04 14:38:45
【问题描述】:
使用 MySQL 查询浏览器,我手动创建了一个名为 users 的表,并在字段中输入了一些日期。我将primary key 设置为id 并将其设置为auto increment。有3 rows,最高的id是3。
然后我在method 目录中创建了以下class 来调用表中的数据等。
class Application_Model_DbTable_User extends Zend_Db_Table_Abstract
{
protected $_name = 'user';
public function getLatestUserId()
{
$id = $this->getAdapter()->lastInsertId();
return $id;
}
}
在controller 中,我执行以下操作,获取method 生成的值并让view 访问它:
$usersDbModel = new Application_Model_DbTable_User();
$lastUserId = $usersDbModel->getLatestUserId();
$this->view->lastUserId = $lastUserId;
然后我在视图中回显它以显示给用户:
echo $this->lastUserId;
但是,即使我在 users 表中的最后一个 id 是 3。它显示为 0。
我也试过了:
public function getLatestUserId()
{
$sql = 'SELECT max(id) FROM user';
$query = $this->query($sql);
$result = $query->fetchAll();
return $result;
}
但这只会抛出服务器错误。
我做错了什么?
我错过了什么吗?
还有其他方法吗?
【问题讨论】:
标签: mysql zend-framework zend-db zend-db-table