Мой коллега сделал настройку на db прошлой ночью, не сказав мне. Полевые книги.страницы стали 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
Обратите внимание, что в Entity/Books.php Я изменил свойство книги на 2 отдельных из них pages_short & pages_long (включая любые ссылки в аннотации) а также в геттерах и сеттерах.
Я также очищаю: кэшировал в обоих dev & prod (хотя я только в dev), но я все еще получаю сообщение об ошибке, которое ссылается на переменную $ pages (с пробелом после), которая больше не существует в коде база. Новые переменные - все $ pages_ [short | long]
Изменения в базе данных произойдут, и вы должны быть готовы к ним. Я считаю, что я делаю изменения в каждом месте, где существует ссылка на поле, поэтому пытаюсь выяснить, как устранить эту ошибку.
«изменения БД будет происходить, и вы должны быть готовы к ним.» - это не тот путь, который должен быть подготовлен для их - проверка миграции доктрины. ;) Не содержит ли ошибка номер файла и номера строки? Можете ли вы использовать XDebug? – Jessica
Правильно, я хочу сказать, это мой первый раз с Доктриной, и мне нужно убедиться, что я знаю, как справляться с этими изменениями :). Верхний элемент в трассировке стека - это доктрина \ common \ lib \ Doctrine \ Common \ Persistence \ Mapping \ RuntimeReflectionService.php в строке 79 ... и она переходит к вызову функции BooksController indexAction() ... Я могу добавить всю трассировку стека w/line #s (11 элементов) в indexAction, если это поможет обеспечить ясность. Thx – shotdsherrif
Я бы предложил использовать xdebug для перемещения стека и найти, где эта переменная входит в игру. – Jessica