2013-12-13 45 views
0

我的同事在昨晚沒有告訴我的情況下對db進行了調整。 Field books.pages become books.pages_short & books.pages_long。我想通過Entity/Books,Resources/config/doctrine/Books.orm.yml和Form/BooksTypes +任何指向特定字段的樹枝手動更改/添加字段。但在試圖顯示標題/索引頁我仍然得到:疑難解答Symfony2 - 缺少實體屬性

Property ABC\LibraryBundle\Entity\Books::$pages does not exist 
500 Internal Server Error - ReflectionException 

注意的是,在實體/ Books.php我改變了書本屬性2個獨立的人pages_short & pages_long(包括註釋任何引用)並且也是在獲得者和制定者中。我還清楚:緩存在兩個dev & prod(雖然我只在開發中),但我仍然收到一個錯誤,它指的是$ pages變量(後面有空格),它不再存在於代碼中基礎。新變量都是$ pages_ [short | long]

數據庫更改將發生,您需要爲它們做好準備。我相信我會在現場參考存在的每個地方進行更改,所以試圖弄清楚如何解決這個錯誤。

+0

「DB的變化會發生,你需要爲他們做好準備。」 - 這是不是要準備的方式他們 - 簽出原則遷移。 ;) 錯誤是否不包含任何文件和行號?你可以使用XDebug嗎? – Jessica

+0

對,我的意思是說,這是我第一次與教義,我需要確保我知道如何處理這些變化:)。堆棧跟蹤中的第一項是第79行的doctrine \ common \ lib \ Doctrine \ Common \ Persistence \ Mapping \ RuntimeReflectionService.php,並且它調用了BooksController的indexAction()函數...我可以添加整個堆棧跟蹤w /行#s(11項)到indexAction,如果這將有助於提供清晰度。 Thx – shotdsherrif

+0

我建議使用xdebug來遍歷堆棧並找出變量在哪裏發揮作用。 – Jessica

回答

0

我敢打賭,有一個監聽器仍在使用您圖書實體的'$ pages'字段。

0

想必您已更新您的模式,試着刪除緩存/ PROD &緩存的/ dev