ZF2数据库表没有返回实例

时间:2015-01-16 12:21:57

标签: php exception zend-framework2

我在ZF2中遇到了数据库模型的问题,我必须在应用程序中触摸一些内容,因为我确信它之前有用。

想知道是否有人可以通过我收到的以下错误消息来解读问题。

如果需要更多错误信息,我可以使用堆栈更新此问题:)

 Zend\ServiceManager\Exception\ServiceNotCreatedException

 File:
 /home/xxxxx/domains/xxxx.nl/vendor/zendframework/zendframework/library/Zend/ServiceManager/ServiceManager.php:909

 Message:
 An exception was raised while creating "Application\Model\CelebrityTable"; no instance returned



 **Previous exceptions:**
 Zend\Db\TableGateway\Exception\RuntimeException

 File:
 /home/xxxx/domains/xxxx/vendor/zendframework/zendframework/library/Zend/Db/TableGateway/AbstractTableGateway.php:105

 Message:
 This table object does not have a valid table set.

1 个答案:

答案 0 :(得分:2)

好的例外说明了你需要知道的大部分内容。

File:
 /home/xxxx/domains/xxxx/vendor/zendframework/zendframework/library/Zend/Db/TableGateway/AbstractTableGateway.php:105

 Message:
 This table object does not have a valid table set.

我去了Zend/Db/TableGateway/AbstractTableGateway.php:105,下面有一段代码;

if (!is_string($this->table) && !$this->table instanceof TableIdentifier && !is_array($this->table)) {
    throw new Exception\RuntimeException('This table object does not have a valid table set.');
}

所以你的例外意味着。 $this->table不是stringarrayinstanceof Zend\Db\Sql\TableIdentifier

所以你可能没有设置表格。

现在我从未使用过AbstractTableGateway所以不确定如何在正确的上下文中使用它。但我没有看到setTable,或类似setOptions的内容。

所以除非你能展示你的TableGateWay的实现,否则就我所知。

注意,我查看了zf2.3.3