首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Silex和Doctrine :如何返回select all的结果

Silex和Doctrine :如何返回select all的结果
EN

Stack Overflow用户
提问于 2014-11-27 22:55:49
回答 1查看 3.3K关注 0票数 1

Doctrine提供程序提供db服务。下面是一个用法示例:

代码语言:javascript
复制
$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>";
});

这是数组,问题是:

代码语言:javascript
复制
$app->get('/enc', function() use ($app) {


    $sql = "SELECT * FROM encuestas";
    $post = $app['db']->fetchAll($sql);


   return   ...;

});
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-28 04:06:33

有什么问题吗?

在第二段代码中,db返回关联数组的数组。为了显示每一个项目,你必须使用某种循环。实际上,您提供的返回示例很难看。你为什么不使用一些模板引擎(比如树枝)?不管怎么说,你必须做这样的事情:

代码语言:javascript
复制
$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
}

或者用树枝:

渲染小枝模板:

代码语言:javascript
复制
return $app['twig']->render('<template_name>', array('posts' => $posts));

小枝模板:

代码语言:javascript
复制
{% for post in posts %}
    {{ post.fec_enc }}
    ...
{% endfor %}

下面是关于Silex模板的更多信息:http://silex.sensiolabs.org/doc/providers/twig.html

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27179690

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档