![](/img/trans.png)
[英]Fatal error: Uncaught PDOException (“SQLSTATE[42S02]”)
[英]Doctrine PHP Fatal error: Uncaught PDOException: SQLSTATE[42S02]: Base table or view not found
我正在嘗試使用vendor\\bin\\doctrine orm:schema-tool:create
但出現此錯誤:
致命錯誤:未捕獲的PDOException:SQLSTATE [42S02]:未找到基表或視圖:1146 C:\\\\ vendor \\ doctrine \\ dbal \\ lib \\ Doctrine \\ DBAL \\ Driver \\ PDOStatement中不存在表'eventapp.event'。的PHP:105
我使用的是MySQL和Doctrine ORM2。該模式以前使用相同的表存在,並且我之前使用了vendor\\bin\\doctrine orm:schema-tool:drop --force
,它可以正確執行,因此它不能是連接問題。 orm:schema-tool:update
給了我同樣的錯誤。
我嘗試刪除架構並再次使用相同的名稱創建它,但仍然收到錯誤。 我還檢查了每個實體類的注釋,它們都是正確的。 例:
/**
* @ORM\Entity
* @ORM\Table(name="event")
**/
class Event
{
...
我的猜測 :我有兩個實體有許多-to-one關聯到event
和我假設創建模式時Schema工具正在查找表,因為它不存在,我得到這個錯誤。 我兩次遇到錯誤的事實似乎支持了這一點,但我可能完全錯了。 關聯如下所示:
/**
* @ORM\ManyToOne(targetEntity="Event")
* @ORM\JoinColumn(name="event", referencedColumnName="id")
*/
private $event;
在event
沒有相應的條目,因為我只需要它是單向的。
編輯 :不。 從我的實體中刪除了所有關聯。 仍然得到完全相同的錯誤消息。 我在這里完全迷路了。
如何在這里正確地創建架構? 我沒有嘗試創建一個空的event
表,但是無論如何這都不是理想的解決方案,因為我希望它無需進一步設置即可輕松部署...
...對於任何遇到相同錯誤的人,我都想出了問題所在。 在bootstrap.php
,我正在使用實體管理器(例如$eventRepository = $entityManager->getRepository('Event')
從表中檢索數據。 刪除此代碼可使命令正確執行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.