我想要做的是有一个页面列出我数据库中的一些数据(数据与Bolt分开)。
我已查看扩展程序,但我没有看到任何方法来制作一个&#34;页面&#34;因此,只创建&#34;片段&#34;。但是,片段实际上并未显示在内容区域中,您只能在<body>
标记后或<head>
中添加它们。它看起来似乎出现在每个页面上,而不是页面上。
是否可以在页面上运行一些自定义PHP代码以从数据库中获取某些数据并显示它?有没有人有一个简单的例子?
答案 0 :(得分:5)
这是扩展的用途,但片段并不是你想要的。
Bolt是一个Silex应用程序,附带一个Doctrine DBAL提供程序,因此您只需使用$app['db']
即可访问可用于查询表的\Doctrine\DBAL\Connection
对象,例如
$resultArray = $this->app['db']->createQueryBuilder()
->select('*')
->from($tableName)
->where('my_column_1 = :my_column_value_1')
->andWhere('my_column_2 = :my_column_value_2')
->orderBy('my_column_3', 'DESC')
->setParameter(':my_column_value_1', $value1)
->setParameter(':my_column_value_1', $value2)
->execute()
->fetch(\PDO::FETCH_ASSOC);
然后,您可以使用数据执行所需操作,并根据需要在Twig中进行渲染。
creating extensions with Twig functions上有大量文档可以放入模板中{{ my_twig_function() }}