如何计算出生日期的年龄并用Symfony显示

mer*_*man -1 doctrine symfony twig

我有一个显示年龄数据的问题,我必须使用birth_date属性计算

调节器

public function listageAction()
{
    $em = $this->getDoctrine()->getManager();

    $query = $em->createQuery(
         'select DATE_DIFF( CURRENT_DATE(),p.dateNaissance)
          from PersonnelBundle:Personnel p'
    );

    $personnels = $query->getResult();

    return $this->render('PersonnelBundle:Default:listage.html.twig');
}
Run Code Online (Sandbox Code Playgroud)

视图

{% for personnel in personnels %}
    <li> {{ personnel.nomP }} {{ personnel.prenomP }}  </li>
    <li> {{ personnel.age}} </li>
{% endfor %} 
Run Code Online (Sandbox Code Playgroud)

我有这个错误:

PersonnelBundle中不存在变量"人员":默认:第6行的listage.html.twig

Ric*_*ard 10

您的问题不在于计算日期,您还没有将$ personnels变量注入到树枝模板中.花5分钟阅读有关视图的文档.

http://symfony.com/doc/current/quick_tour/the_view.html

具体来说:这个例子与你相关.

$this->render('default/index.html.twig', array(
    'variable_name' => 'variable_value',
));
Run Code Online (Sandbox Code Playgroud)