Symfony2, How to cast data type in a twig file?

2019-09-01 07:19发布

问题:

I have some scenario like below :

/**
 * @ORM\Entity
 * @ORM\Table(name="role")
 */
class Role
{
    /**
     * @ORM\OneToMany(targetEntity="RolesFeatures", mappedBy="role", cascade={"all"})
     **/
    private $rolesFeatures;
}

In my index file I would like to get them:

{{ role.rolesFeatures.getId() }}

I get this :

 An exception has been thrown during the rendering of a template ("Catchable Fatal
 Error: Object of class Doctrine\ORM\PersistentCollection could not be converted to string
 in C:\wamp\www\PMI_sf2\app\cache\dev\twig\63\81\679fca1c2da64d0ebbcd5661bc6d.php line 99")
 in PMIHomePagesBundle:HomePages:mainHome.html.twig at line 49.

How I can Cast Doctrine\ORM\PersistentCollection to it real object class ?

回答1:

rolesFeatures is an array so you need to iterate over it. Something like:

{% for roleFeature in role.rolesFeatures %}
    {{ roleFeature.id }}
{% endfor %}


标签: symfony twig