首页 > 解决方案 > 创建“UserTable”时引发异常;没有返回实例

问题描述

我是zend framework2的新手。

我得到了错误。 An exception was raised while creating "UserTable"; no instance returned.

请看我的代码。

登录\模型\UserTable.php

protected $tableGateway;

public function __construct(TableGateway $tableGateway)
{
    $this->tableGateway = $tableGateway;
}

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

登录\模块.php

public function getServiceConfig()
{
    return array(
        'factories' => array(
            'UserTable'          => function($serviceManager) {
                $tableGateway       = $serviceManager->get('UserTableGateway');
                return new UserTable($tableGateway);
            },
            'UserTableGateway' => function ($serviceManager) {
                $dbAdapter          = $serviceManager->get('Zend\Db\Adapter\Adapter');
                $resultSetPrototype   = new ResultSet();
                $resultSetPrototype->setArrayObjectPrototype(NULL);
                return new TableGateway('user', $dbAdapter, NULL, $resultSetPrototype);
            }
        )
    );
}

登录\src\Login\Controller\LoginController.php

public function getAction()
{
    $serviceManager = $this->getServiceLocator();
    $userTable = $serviceManager->get('UserTable');
    $user = $userTable->fetchAll();
    return $this->redirect()->toRoute('home', ['data' => $user]);
}

本地.php

 return array(
  'db' => array(
    'dsn' => 'mysql:dbname=album; host=localhost',
    'username' => 'root',
    'password' => 'root',
  ),
  'service_manager' => array(
    'factories' => array(
        'Zend\Db\Adapter\Adapter'
        => 'Zend\Db\Adapter\AdapterServiceFactory',
    ),
  )
);

getAction()当我在控制器中重定向到家时,它工作正常。

我无法解决这个问题。

谁能帮我吗。

提前致谢。

注意:如果您需要更多详细信息,请发表评论。

标签: zend-framework2

解决方案


推荐阅读