Symfony twig nl2br

时间:2017-02-09 07:40:06

标签: php symfony twig

我有twig模板并在此模板中呈现一些数据,我有两个变体

$datatest = "test" . chr(13) . "test"; //nl2br work good
$datatest = "test\ntest";//nl2br dosn't work, have string in template test\ntest

和第二个我有查询构建器,选择一些字段

        $qb
        ->select('
            CONCAT(TRIM(s.streetAddress), \'\\n\', s.postal, s.postOffice) as company_address
        ')

我试试

        $qb
        ->select('
            CONCAT(TRIM(s.streetAddress), CHAR(13), s.postal, s.postOffice) as company_address
        ')

但查询构建器有错误,找不到函数CHAR(13),如何为CHAR(13)创建自定义DQL?

并在模板中dump(data)有字符串但nl2br不起作用

enter image description here

我尝试了另一种过滤树枝,就像这样

            <div style="font-size: 8px;">
            {{ data.company_name|upper }}<br>
            {% set address = data.company_address|nl2br %}
            {{ address|upper|raw }}
        </div>

        <br>

        <div style="font-size: 9px;">
            {{ datatest|nl2br }}
        </div>

需要做什么才能选择nl2br工作正常?

1 个答案:

答案 0 :(得分:4)

您不应该在SQL查询中格式化输出。您正在使用MVC框架,所以您绝对应该遵循它的概念 - 让演示在视图中完成(a.k.a.模板)。

我建议以这种方式选择并呈现数据:

型号:

$qb->select('s.streetAddress, s.postal, s.postOffice')->from ...

模板:

{{ streetAddress }}<br>
{{ postal }} {{ postOffice }}