2017-08-09 82 views
2

虽然从CSV导入批量客户到Shopware只有第一排进口则引发错误Shopware客户导入错误:实体管理器关闭

"The EntityManager is closed".

如果我尝试只用单一的数据它进口的客户,但也抛出相同的错误“EntityManager关闭”。

检查了core_production_date.logimportexport.logshopware/var/log/没有在那里登录。

还检查了Configureation->logfile,没有。

我怎样才能得到实际的错误日志为什么发生?请让我知道是否有人可以提供帮助。

Shopware版本5.2.27是

感谢。

回答

0

当请求的数据库上下文由于某个SQL异常而关闭时,EntityManager被关闭。 在我的项目中,这发生在使用Shopware的资源API,这也可能被导入器使用。资源捕获错误,以便它不会显示在日志中。由于SQL错误,实体管理器虽然通过原则被关闭,并且不能在相同的请求中重新打开。所以之后的任何调用都将以“EntityManager已关闭”消息结束。

如果您找到一种方法在控制台中运行导入,那么错误将至少显示为控制台日志,这会有所帮助。您还可以查看资源本身以查看可能错误或丢失的数据类型。

0

您可以使用在try..catch和复位EntityManager的catch子句中,如果它的关闭(你应该继承从您API类),例如:

try { 
... you code ... 
} catch (\Exception $e) { 
    if (!$this->getManager()->isOpen()) { 
     $this->resetEntityManager(); 
    } 
... 
}