我的twig模板中有以下代码来操作数据库:
{%
$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.
为什么我会收到此错误?
答案 0 :(得分:4)
您无法在Twig模板中编写PHP代码。 {%...%}标记允许您执行Twig代码,而不是PHP代码。无论如何,你不应该从模板内部访问你的数据库,它看起来很糟糕。
如果你真的需要这样做,你应该写一个Twig Extension并从你的{%...%}标签中调用它。
答案 1 :(得分:2)
如果要更新数据库中的记录,则必须创建自己的扩展,以处理树枝标记以启动它。
螺栓文档中提供了有关入门的提示和信息:https://docs.bolt.cm/3.2/extensions/basics/creating