zend paginator为空数组如何处理

时间:2012-02-10 13:50:05

标签: php zend-framework

这是我的代码:

$message = $mapper->getByReceiverId($currentUser["id"]);

    $paginator = Zend_Paginator::factory($message);

如果$ message为null(数据库中没有记录)如何处理?

我得到错误:

    Message:
"No adapter for type NULL"

感谢您的帮助

1 个答案:

答案 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;

这种方式需要分页的方法会将它内置到查询中,您不必担心它返回的内容。