gpt4 book ai didi

php - 与 TWIG 的关系

转载 作者:行者123 更新时间:2023-12-04 05:50:29 25 4
gpt4 key购买 nike

早些时候我使用 Symfony 1.4。现在我学习 Symfony 2。我会:http://symfony.com/doc/current/book/doctrine.html
我有:

    class Product
{

/**
* @ORM\ManyToOne(targetEntity="Category", inversedBy="products")
* @ORM\JoinColumn(name="category_id", referencedColumnName="id")
*/
protected $category;

//...
}


class Category
{

/**
* @ORM\OneToMany(targetEntity="Product", mappedBy="category")
*/
protected $products;

public function __construct()
{
$this->products = new ArrayCollection();
}
//...
}

在 foreach 的 Symfony 1.4 中,我可以使用:
    $result = findAll from Products.
foreach ($results as $result){
echo $result->getCategory()->getName();
}

我如何获得与 TWIG 系统的关系(在此示例中为类别)?
{% for item in results %}
<li><a href="{{ item.id }}">{{ item.name }} --- {{ item.category }} {{item.category.name}}</a></li>
{% endfor %}

item.category 和 item.category.name 不起作用。我在文档中找不到这个。

编辑:

好的,我现在知道了。我与一种产品没有关系。在此之前我该如何保护?

我有:
id | name    | category
1 | first | 1
2 | second | NULL
3 | third | 2

如果在每一行类别中不为空,那么这工作正常,但如果我在关系中有 NULL,那么我有错误:
Item "name" for "" does not exist in AcmeStoreBundle:Default:index.html.twig at line 3 

我能用这个做什么?

最佳答案

将此添加到您要输出名称的位置。这将防止 Twig 抛出该错误。

{% if item.category.name is defined %}
{# print the name here #}
{% endif %}

关于php - 与 TWIG 的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10119895/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com