Symfony2创建左连接

时间:2013-10-01 07:02:07

标签: php mysql symfony

我有两张桌子

1)cms

2)cms_translations

表1)cms

id
url
status

表2)cms_translations

object_id
title
lang_id

那么什么是左连接查询以显示twig文件中的两个表值?

这是我完成的查询

    $q = $em->createQuery("SELECT c , d FROM Dashboard\CmsBundle\Entity\Cms c 
    JOIN c.translations d 
    WITH c.id = d.object AND c.status = 1
    GROUP BY c.sortOrder 
    ORDER BY c.sortOrder ASC "
    );

这是由我完成的代码,用于在index.html.twing文件中显示

    {% for entity in enitity_cms %}
    <a href="{{ path('_cmsAboutUs' , { slug : entity.url }) }}" >{{ entity.Title }}</a>
    {% endfor %}    

但不能在{{ entity.Title }}中打印 那么如何在twing文件中打印cms_translations.title?

如何在第二个表格的html文件中打印值?

1 个答案:

答案 0 :(得分:1)

DQL:

SELECT c , d FROM Dashboard\CmsBundle\Entity\Cms c 
JOIN c.translations d WHERE c.status = 1

这可确保翻译加载到Cms对象中。

然后在树枝模板中:

{% for entity in entity_cms %}
  {% for translation in entity.translations %}
     <a href="{{ path('_cmsAboutUs' , { slug : entity.url }) }}" >{{ translation.Title }}</a>
  {% endfor %}    
{% endfor %}