Обнуление с помощью Doctrine2

#php #doctrine-orm

#php #doctrine-orm

Вопрос:

Это выглядит как простая задача, но я не могу ее выполнить:
Как мне определить столбец для ОБНУЛЕНИЯ без ЗНАКА с помощью Doctrine2?

Я не могу найти никакой информации об этом в документах.

Спасибо за любую помощь!

Ответ №1:

Вам это нужно на уровне базы данных или требуется только приложению? Вы могли бы добавлять нули на уровне приложения:

 class MyEntity {
    public function getSomeColumn() {
        return sprintf('d', $this->someColumn); // or str_pad(...)
    }
}
  

Однако, если вам действительно это нужно на уровне базы данных, вам придется аннотировать столбец в виде строки: @Column(type="string", columnDefinition="UNSIGNED INTEGER(5) ZEROFILL")

Комментарии:

1. Пользовательский тип сопоставления здесь может быть полезен для правильного создания и обновления схемы.

2. Было бы полезно, если бы вы объяснили 'd' часть вашего ответа

Ответ №2:

Хороший синтаксис :

 @Column(type="integer", columnDefinition="INT(5) UNSIGNED ZEROFILL")
  

Ответ №3:

Используйте columnDefinition свойство (непереносимое) в @Column аннотации.

Комментарии:

1. Вы имеете в виду вот так: @Column(type="integer", columnDefinition="UNSIGNED ZEROFILL") ? Пробовал это, это не работает.

2. @sprain: Это не работает, потому что вы объявляете столбец как целое число, где оно должно быть строкой.