ZF2无法选择tablegateway方法中的所有行

时间:2013-10-29 17:05:08

标签: php mysql zend-framework2

我刚接触ZF2并使用以下功能。

public function fetchAll()
    {
        $resultSet = $this->tableGateway->select();
        return $resultSet;
    }

当我使用print_r($ resultSet)时,它会在结果中显示以下内容而不是表中的所有行,这是我所期待的。你能告诉它为什么没有显示所有行。

Zend\Db\ResultSet\ResultSet Object
(
    [allowedReturnTypes:protected] => Array
        (
            [0] => arrayobject
            [1] => array
        )

    [arrayObjectPrototype:protected] => Users\Model\User Object
        (
            [id] => 
            [name] => 
            [email] => 
            [password] => 
        )

    [returnType:protected] => arrayobject
    [buffer:protected] => 
    [count:protected] => 3
    [dataSource:protected] => Zend\Db\Adapter\Driver\Pdo\Result Object
        (
            [statementMode:protected] => forward
            [resource:protected] => PDOStatement Object
                (
                    [queryString] => SELECT `user`.* FROM `user`
                )

            [options:protected] => 
            [currentComplete:protected] => 
            [currentData:protected] => 
            [position:protected] => -1
            [generatedValue:protected] => 0enter code here
            [rowCount:protected] => 3
        )

    [fieldCount:protected] => 4
    [position:protected] => 0
)

1 个答案:

答案 0 :(得分:0)

数据源是PDO结果集。开始迭代对象时,您将看到结果。

如果转储以下内容:

$resultSet->count();

你会看到它返回了三行。

迭代如下:

foreach ($resultSet as $result) {
    echo $result->id;
    echo $result->name;
    // ...
}