簡體   English   中英

規范PHP致命錯誤:未捕獲的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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM