在twig for循环中显示doctrine中的数据

时间:2016-03-24 21:05:02

标签: php doctrine-orm twig

控制器代码:

    $em = $this->getEntityManager();

    $books = $em->getRepository('Books\Model\Books')->findAll();

    return $this->render('Books/View/list.html.twig', array(
        'books' => $books
    ));

Twig模板代码:

{% extends 'Books/View/layout.html.twig' %}

{% block content %}
<table>
   <tr>
        <th>Name</th>
        <th>Description</th>
   </tr>
   {% for row in books %}
       <tr>
           <td>{{ row.name }}</td>
           <td>{{ row.description }}</td>
       </tr>
   {% endfor %}
</table>
{% endblock %}

我不知道为什么我在单元格中没有看到任何名称和描述。当我打开开发者控制台并查看html树时,我看到这个单元格但是空了..

1 个答案:

答案 0 :(得分:1)

据我记得你需要创建getter:

class Books
{
    /** @Id @Column(type="integer") @GeneratedValue */
    private $id;

    /** @Column(type="string") */
    private $name;

    /** @Column(type="string") */
    private $description;

    public function getName() { return $this->name; }
    public function getDescription() { return $this->description; }
}

请阅读手册7. Working with Objects

您可能更愿意阅读降价文档Doctrine1 Documentation。我自己写md文件,所以也喜欢阅读它们。