我有一个从控制器动作传递的集合,并从变量添加到视图中,我可以迭代浏览博客中的所有文章。每篇文章都有自己的JSONB列存储在PostgreSQL表中。
我想知道如何迭代博客中的每篇文章,同时JSON解码存储在特定JSONB列中的每个数据,以便在Twig模板页面上进行整洁显示。有没有人知道如何做到这一点?它会在Controller动作中完成并存储到变量或Twig模板中吗?可以两种方式吗?如果是这样,我有兴趣看看它是如何做到两种方式的!
我很容易弄清楚如何在每个单独的文章显示页面上这样做,因为选择了一篇文章,你可以json_decode控制器中的表中的一列然后传递一个变量(对于这个例子,我将调用它解码了)。
要在Twig模板中打印数据属性,我可以这样做:
{{decoded['title']}}
或者这个:
{{decoded['body']}}
那么,如何在博客索引页面上实现与整个博客集合类似的内容,而不是在展示页面上的博客表格中的一篇特定文章?
如果我试图在Twig模板中对典型的教科书集合做同样的事情,那么控制器传递给视图的变量(Twig模板)将被访问并遍历表格中的每一列,如下所示:
{% for article in blog %}
{article.title}
{article.body}
{% endfor %}
所以...我现在可以通过将它添加到Twig模板页面上的类似循环结构并调用:
来访问新添加的JSON列{article.json_data}
...但我的问题是没有用于Twig模板变量输出的json_decode过滤器,只有json_encode可以在类似的迭代循环中调用,如下所示:
{article.json_data | json_encode}
...但我需要json_decode而不是json_encode,因此我的问题!
感谢您提供的任何和所有帮助!