Задать вопрос
@RJs45

Как в doctrine2 экранировать название таблицы?

Думаю, такой вопрос уже возникал, но ответа не нашел.
В MySQL БД есть таблица Order. Ее нельзя переименовать в рамках проекта. Она должна быть именно Order.
В Doctrine сущность описана так:
/** 
 * @ORM\Entity 
 * @ORM\Table(name="`Order`")
 */
class Order {
.....

Ну, и понятное дело, что doctrine-module orm:schema-tool:update --force ругается:
You have syntax error near 'Order add invoice_id int default null

Как научить доктрину понимать, что это название таблицы? Тут говорят "экранируйте сами" - это не помогает.
Кто сталкивался - помогите.
  • Вопрос задан
  • 2657 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Решения вопроса 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Это очень старая проблема доктрины.

Как вариант можно воспользоваться подобным решением для автоэкранирования:
https://gist.github.com/Thinkscape/6713196
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@mind3
Так же советую проверить, что аннотации работают. Возможно настройки берутся из Resources/config/doctrine. И кэш почистить не забудьте.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
FoodSoul Калининград
от 180 000 до 250 000 ₽
IT-Spirit Москва
от 230 000 до 320 000 ₽
от 200 000 до 290 000 ₽