0
我的dbAdapter有什么问题?我正在通过这个tutorial,但我无法连接到数据库服务器。没有数据库连接
下面是一些代码片段:
Module.php
use Zend\ModuleManager\ModuleManager;
use Zend\Mvc\MvcEvent;
use Acl\Model\Roles;
use Acl\Model\RolesTable;
use Zend\Db\ResultSet\ResultSet;
use Zend\Db\TableGateway\TableGateway;
...
public function getServiceConfig()
{
return array(
'factories' => array(
'Acl\Model\RolesTable' => function ($sm) {
$tableGateway = $sm->get('RolesTableGateway');
$table = new RolesTable($tableGateway);
return $table;
},
'RolesTableGateway' => function ($sm) {
$dbAdapter = $sm->get('Zend\Db\Adapter\Adapter');
$resultSetPrototype = new ResultSet();
$resultSetPrototype->setArrayObjectPrototype(new Roles());
return new TableGateway('acl_roles', $dbAdapter, null, $resultSetPrototype);
}
)
);
}
global.php
return array(
'db' => array(
'driver' => 'Pdo',
'dsn' => 'mysql:dbname=mycms;host=localhost',
'driver_options' => array(
PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES \'UTF8\''
)
),
'service_manager' => array(
'factories' => array(
'Zend\Db\Adapter\Adapter' => 'Zend\Db\Adapter\AdapterServiceFactory'
)
)
);
怎么可以看到,我与TableGateway工作。如果我做了转储,我可以看到来自exchangeArray()函数的键,但没有值。如果我删除global.php中的整个数据库连接,则不会有任何更改。
连接本身是正确的,我可以采取数据并通过MySQL连接。
任何想法?
检查错误登录,你可能会发现任何关于问题本身的提示。 – Conti