Symfony 2 中使用 TWIG 嵌套列表

发布于 2024-12-18 06:25:58 字数 451 浏览 0 评论 0原文

我的数据库中有

Category:
id | name
1  | first
2  | second
etc

News:
id | category | name
1  | 1        | one
2  | 2        | two
3  | 1        | three
4  | 2        | four
5  | 2        | five

等等。

在 TWIG 中显示这一点的最佳方法是什么?

FIRST
- one
- three
SECOND
- two
- four
- five

在Symfony 1.4中我可以使用从模板PHP获取数据,但在Symfony 2中我必须获取控制器中的所有数据,但如何获取?

i have in database

Category:
id | name
1  | first
2  | second
etc

and:

News:
id | category | name
1  | 1        | one
2  | 2        | two
3  | 1        | three
4  | 2        | four
5  | 2        | five

ETC.

how is the best method for show this in TWIG?

FIRST
- one
- three
SECOND
- two
- four
- five

etc.

in Symfony 1.4 i can use get data from template PHP, but in Symfony 2 i must get all data in controllor, but how?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

身边 2024-12-25 06:25:58

因此,类别和新闻之间存在工作关系,工作起来很简单。

// Class Category
/**
 * Relation to News
 * 
 * @ORM\OneToMany(targetEntity="News", mappedBy="news")
 */
private $news;
public function getNews()
{
    return $this->news;
}

因此,您将类别对象从控制器传递到模板,TWIG 将“category.news”转换为 Category->getNews() 函数。

{% for newsitem in category.news %}
    <p>{{ newsitem.id }}</p>
{% endfor %}

您可以找到有关“变量/函数处理”的更多信息:http://twig.sensiolabs .org/doc/templates.html#variables

So you have a working relation between Category and News, it is working straightforward.

// Class Category
/**
 * Relation to News
 * 
 * @ORM\OneToMany(targetEntity="News", mappedBy="news")
 */
private $news;
public function getNews()
{
    return $this->news;
}

So you pass the category object(s) from controller to your template, and TWIG converts the "category.news" towards the Category->getNews() function.

{% for newsitem in category.news %}
    <p>{{ newsitem.id }}</p>
{% endfor %}

You may find further information on this "variable/function handling": http://twig.sensiolabs.org/doc/templates.html#variables

冰雪之触 2024-12-25 06:25:58

我还没有使用 Sf2,所以我不能给你你所需要的东西,但它应该与此类似:

  • 在你的控制器中,获取所有类别,与新闻的关系进行内部连接(以确保单个查询用于获取
  • 模板中所需的所有数据),对该循环中的类别执行 for
  • ,对当前类别与新闻的关系执行 for

I'm not using Sf2 (yet) so I can't give you exactly what you need, but it should be similar to this:

  • in your controller, get all categories, inner joining with the relation to news (to make sure a single query is used to get all the data needed)
  • in your template, do a for on the categories
  • in that loop, do a for on the current category's relation to news
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文