Держите лидерство 0 в Twig

В моей базе данных у меня есть поле, содержащее следующие данные: 000010 (тип integer)

В моей ветке tpl я хочу отобразить ее, затем я: {{расходы .documentName}}

Но браузер отображает "10". Как будто Twig автоматически выполнил обрезку моих данных. Я пробовал {{resources.documentName | raw}}, но он не работает. Я не нахожу ничего в Google о том, как вести ведущий 0 с Twig.

Кто-нибудь знает, как действовать?

Ответ 1

Я думаю, вы должны принудительно форматировать формат (поскольку ваш тип является целым числом).

Вы можете использовать фильтр формата:

{{ "%06d"|format(spending.documentName) }}

Или лучше создать расширение ветки (http://symfony.com/doc/current/cookbook/templating/twig_extension.html):

public function strpad($number, $pad_length, $pad_string) {
    return str_pad($number, $pad_length, $pad_string, STR_PAD_LEFT);
}

В вашем шаблоне более ясное:

{{ spending.documentName | strpad(6,'0') }}

Ответ 2

Вы пытались использовать фильтр format?

Как placeholders follows the sprintf notation вы должны иметь возможность конвертировать

sprintf('%06d', $integer); в php

to {{ '%06d'|format($integer) }} в ветке.

Ответ 3

для сохранения 0 на номер, вы можете просто {{ spending.documentName|capitalize }}