Symfony2: базовый стол или вид не найдены: 1146

проблема

Привет, я работаю с другом в проекте Symfony 2. Он работает на компьютере под управлением Windows, и я нахожусь на своем Mac. Мы настраиваем проект и создаем модель / сущности базы данных (код сначала) на своем компьютере. хотел бы начать работать над этим, так что мы сделали SQL dumb для моего localhost.Я отредактировал параметр.yml для соответствия моим настройкам. Проект может подключиться к серверу. Но когда я пытаюсь открыть страницу, на которой используется база данных я получаю эту ошибку:

Исключение произошло при выполнении 'SELECT t0.id AS id1, t0.name AS name2, t0.bigimage AS bigimage3, t0.smallimage AS smallimage4, t0.info AS info5, t0.city_id AS city_id6 FROM District t0':

SQLSTATE [42S02]: базовая таблица или представление не найдены: 1146 Таблица «socialgeogroep6.District» не существует 500 Внутренняя ошибка сервера – DBALException 1 связано Исключение: PDOException »

Чтобы быть понятным, страница работает нормально на своем компьютере; он получает данные так, как должно быть.

Вопрос

В чем проблема? Я снова и снова просматривал свой PHPmyAdmin, и в базе данных есть все поля и данные …
(экран: http://gyazo.com/4a0e5f1ee6b1e29d2d277df5fc0d8aac ) Я действительно не могу представить, в чем проблема.

Надеюсь, кто-то может нам помочь!

Solutions Collecting From Web of "Symfony2: базовый стол или вид не найдены: 1146"

Вероятно, это дело. У вас есть таблица district в вашей базе данных, но доктрина просит District стол.

Вы должны настроить доктрину для использования имени таблицы нижнего регистра. Обратитесь к документации по доктринам http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/basic-mapping.html#persistent-classes, чтобы узнать, как это сделать.

У меня просто была такая же проблема, потому что я пишу код на окнах, и мне нужно развернуть на linux.

Решение состоит в том, чтобы добавить в config.yml строку:

 doctrine: orm: naming_strategy: doctrine.orm.naming_strategy.underscore 

Проблема с именем таблицы

 socialgeogroep6.District 

Это должно быть socialgeogroep6.district в соответствии с скриншотом. Проверьте аннотацию Entity.

Предупреждение: Прежде чем читать это решение. Это строго решение для тех, кто пытается создать структуру.

Я думаю, что, поскольку вы только начинаете опробовать, что вы можете сделать, это сбросить базу данных, а затем начать все заново.

  - mysql -uroot -proot - show databases; - drop database <dbname>; 

Затем заново создайте таблицы.

  - app/console doctrine:database:create - app/console doctrine:schema:create 

Предупреждение: это может быть очень БЕСПЛАТНАЯ идея сделать это в производственной среде, если вы уже создали свои контроллеры, и данные уже заполнены.

Эта работа для меня в symfony 2.7. Просто введите config.yml:

 doctrine: # ... orm: # ... entity_managers: default: naming_strategy: doctrine.orm.naming_strategy.underscore 

Если вы используете Orm, вы можете настроить его таким образом

District.orm.yml

 Project\Bundle\DuterteBundle\Entity\Vp: type: entity table: district//note the lowercase repositoryClass: Project\Bundle\DuterteBundle\Repository\VpRepository