2017-02-09 53 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在樹枝,不明白不是這個工作 –