Почему в Symfony 3.4 через cli маппятся связи, а через web нет?
Певая возможная причина.
У вас окружение разное.
export SYMFONY_ENV=prod или запуск команды с ключем -e prod (В этом случае она действительно в прод окружении запуститься)
Если это так, то смотреть namingStrategy для доктрины.
Убить кэш (командой доктриновской)
Вторая причина.
Если вы на 150% уверены, что окружения действительно одни и те же, то смотреть слушателей на KernelEvents.
Затем смотреть расширения доктрины, если такие есть.
Третья причина.
Настройки кэша и использование данных из Request в качестве ключей (Из консоли Request не доступен) для кэша доктрины. Банальный мемкеш, где превиксом является доменное имя.
Пятая
Маловероятная... Одновременное использование нескольких драйверов маппинга (аннотации, yaml)
Изменения в папке вендоров (compoer validate)
...
Рассуждения.
Судя по всему вы через что-то деплоете (по структуре папок)
Шары не напутаны для проекта?
Кэш точно инвалидирован?
Симлинки верно указывают?
Права юзверя, группы на файлы кэша из веб морды/консоли?
Хост точно тот?
Веб сервер (nginx точно на current дирекиорию смотрит)?
...
Гадать крайне долго можно, но 90%, что разное окружение и проблемы с кэшем
Почему-то некорректно маппит имя свойства со статусом. Попробуйте name для связи со статусом явно задать.