Nano Hash - криптовалюты, майнинг, программирование

Поместите подчеркивание в имена классов объекта Symfony2

На самом деле я закончил проект с использованием Symfony2, но мой босс хочет, чтобы я изменил имена таблиц в базе данных. Он хочет поставить подчеркивание в именах моих таблиц, что означает подчеркивание в именах классов.

Я пытался сделать это, но это не работает. Когда я это делаю, я получаю сообщение об ошибке: Эта сущность не может быть найдена в другой сущности.

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

Я ищу в Интернете и вижу, возможно, причину, которая может объяснить эту проблему, вот она:

https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-0.md#underscores-in-namespaces-and-class-names

Итак, кто-нибудь может сказать мне, как именно я могу поставить подчеркивание в именах моих таблиц с помощью symfony?


Ответы:


1

Согласно документу, вы можете разделить имя вашей таблицы из имени вашего класса.

Просто сделайте это:

<?php
/**
 * @Entity
 * @Table(name="my_table_name")
 */
class MyPersistentClass
{
    //...
}

и это все :)

Я должен добавить, что если вы повторно сгенерируете свою модель данных с помощью команды app/console doctrine:schema:update --force, вы не уничтожите существующие таблицы и данные. Затем вам придется вручную перенести данные из старых таблиц в новые.

16.07.2013
  • ... Я работал над этим со вчерашнего дня, большое спасибо !! Это намного проще, чем менять имя класса во всем проекте! 16.07.2013

  • 2

    Возможно, есть лучшее решение: используйте стратегию именования с подчеркиванием.

    https://stackoverflow.com/a/12702949/244058

    16.07.2013
    Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..