2017-08-09 57 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(); 
    } 
... 
} 
相關問題