这是我的代码:
$message = $mapper->getByReceiverId($currentUser["id"]);
$paginator = Zend_Paginator::factory($message);
如果$ message为null(数据库中没有记录)如何处理?
我得到错误:
Message:
"No adapter for type NULL"
感谢您的帮助
答案 0 :(得分:0)
类似的东西:
$message = $mapper->getByReceiverId($currentUser["id"]);
if (!$message){//or $message === null, depends on what GetByReciever() returns
$paginator = null;
} else {
$paginator = Zend_Paginator::factory($message);
}
您还可以在模型方法中添加if(),例如:
if ($result){
return $result;
} else {
return array();
}
返回一个空数组()应该至少为$ paginator提供一个有效的适配器 如果在模型中初始化paginator适配器可能会更好:
public function someThingPaginatorAdapter() {
$this->select();
//build your select() query
$adapter = new Zend_Paginator_Adapter_DbTableSelect($select);
return $adapter;
这种方式需要分页的方法会将它内置到查询中,您不必担心它返回的内容。