我无法访问TWIG中的汽车但下面的代码在控制器本身中运行良好。在尝试访问Twig中的汽车时,我收到这样的错误:
Method "model" for object "Doctrine\ORM\PersistentCollection" does not exist in
这些都没有在以下TWIG循环中工作:
{{ car.model }}
{{ cars.model }}
{{ brand.car.model }}
{{ brand.cars.model }}
{{ brand.car.car.model }}
{{ brand.car.cars.model }}
{{ brand.cars.car.model }}
{{ brand.cars.cars.model }}
这个工作很好的TWIG文件:
{% for brand in result %}
{{ brand.name }}
{% endfor %}
CONTROLLER(正常工作):
foreach ($result as $brand)
{
echo $brand->getName() . ':';
foreach ($brand->getCars() as $car)
{
echo $car->getModel() . ',';
}
echo '<br />';
}
输出:
bmw:3.16,3.18,
mercedes:amg,
在存储处查询:
$query = $em->createQuery('SELECT car, brand
FROM CarBrandBundle:Brands brand
JOIN brand.cars car
ORDER BY
brand.name ASC,
car.model ASC');
答案 0 :(得分:2)
Cars是一个数组,所以你需要循环遍历它们......
{% for car in brand.cars %}
{{ car.model }}
{% endfor %}
或者您可以像{{ brans.cars[0].model }}
那样访问它,但之后您必须知道预先有多少辆汽车。