2016-11-17 85 views
-1

我在樹枝模板下面的代碼來操作數據庫:

{% 
    $tablename = $app['config']->get('general/database/prefix') . 'entries'; 
    $query = "UPDATE $tablename SET $views = ? WHERE id = ?"; 
    $views = record.views + 1; 
    $stmt = $app['db']->prepare($query); 
    $stmt->bindValue(1, $views); 
    $stmt->bindValue(2, record.id); 
    $res = $stmt->execute(); 
%} 

我得到以下錯誤,當我加載瀏覽器中的模板:

Twig_Error_Syntax 
Unexpected character "$" in "record.twig" at line 18. 

爲什麼我得到這個錯誤?

+1

這行是18日線? –

+0

@KanishkaPanamaldeniya第一個'$ tablename = $ app ['config'] - > get('general/database/prefix')。 '條目';'。 –

+0

不要將數據庫調用放入模板中。 – bcmcfc

回答

4

您不能在Twig模板中編寫PHP代碼。 {%...%}標籤允許您執行Twig代碼,而不是PHP代碼。無論如何,你不應該從模板內訪問你的數據庫,它似乎是錯誤的。

如果您確實需要這樣做,您應該寫一個Twig Extension並從您的{%...%}標籤中調用它。

+0

該代碼是用於測試,是的,後來它將成爲一個擴展!那麼我現在如何執行上面的代碼呢? –

+1

您試圖採取不存在的快捷方式。如果你想建立一個擴展,你必須首先創建一個擴展的擴展,然後在該擴展中開發。 Twig被設計爲不允許模板中的任何PHP – jadwigo

+0

@jadwigo感謝好友! –