2017-02-09 52 views
0

我有枝模板,该模板中呈现的一些数据,我有两个变种Symfony的枝杈nl2br

$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做工精细办? ?

回答

4

您不应在SQL查询中格式化输出。您正在使用MVC框架,因此您绝对应该保持其概念 - 让视图在视图中完成(a.k.a.模板)。

我建议选择和现在的塔数据是这样的:

型号:

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

模板:

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

我想用nl2br,并选择 –

+0

添加断线但为什么你做吧?试着解释做这件事的原因是什么。我们,开发人员正在努力寻找可重用的解决方案。如果您在查询中锁定了格式化内容,然后,例如,您只需要在应用中的其他位置使用streetAddress,那么您会怎么做?另一个查询?正如你所看到的,其他3人upvoted这个答案,所以意见似乎是正确的,不仅对我来说... –

+0

我明白,但我想实现这种方法添加断线在选择和使用nl2br在树枝,不明白不是这个工作 –