Doctrine提供程序提供db服务。下面是一个用法示例:
$app->get('/enc/{id}', function ($id) use ($app) {
$sql = "SELECT * FROM encuestas WHERE id_enc = ?";
$post = $app['db']->fetchAssoc($sql, array((int) $id));
return "<h1>Encuestas</h1>".
"<p>{$post['fec_enc']}</p>".
"<p>{$post['opc1']}</p>".
"<p>{$post['img1']}</p>".
"<p>{$post['vot1']}</p>".
"<p>{$post['opc2']}</p>".
"<p>{$post['img2']}</p>".
"<p>{$post['vot2']}</p>".
"<p>{$post['estado']}</p>";
});这是数组,问题是:
$app->get('/enc', function() use ($app) {
$sql = "SELECT * FROM encuestas";
$post = $app['db']->fetchAll($sql);
return ...;
});发布于 2014-11-28 04:06:33
有什么问题吗?
在第二段代码中,db返回关联数组的数组。为了显示每一个项目,你必须使用某种循环。实际上,您提供的返回示例很难看。你为什么不使用一些模板引擎(比如树枝)?不管怎么说,你必须做这样的事情:
$posts = $app['db']->fetchAll($sql); // posts - NOT post
foreach($posts as $post) {
echo $post['fec_enc']; // or "echo '<p>' . $post['fec_enc'] . '</p>'",
// but it's really ugly
... // rest of properties
}或者用树枝:
渲染小枝模板:
return $app['twig']->render('<template_name>', array('posts' => $posts));小枝模板:
{% for post in posts %}
{{ post.fec_enc }}
...
{% endfor %}下面是关于Silex模板的更多信息:http://silex.sensiolabs.org/doc/providers/twig.html
https://stackoverflow.com/questions/27179690
复制相似问题