繁体   English   中英

Symfony2在Twig中使用JOIN显示SQL结果

[英]Symfony2 Displaying SQL result with JOIN in Twig

我开始用symfony开发。 我已经学习了如何编写简单的查询,然后在Twig中显示检索到的数据。 然后我在查询中添加了一个JOIN语句,因此它看起来像这样:

$query = $em->createQuery('SELECT p, s FROM DemoProductBundle:Product p LEFT JOIN DemoProductBundle:SynchronizationSetting s WITH s.id_product = p.id');

在我的模板中,我有循环每一行并显示所需数据的代码:

    {% for item in list %}
                    <tr>
                        <td>{{ item.id }}</td>
                        <td>{{ item.eanCode }}</td>
                        <td>{{ item.nameFull }}</td>
                        <td></td>
                        <td></td>
                        <td></td>
                        <td></td>
                        <td><a href="{{ path('webrama_product_category_edit', {'id': item.id}) }}" class="btn btn-outline btn-bg btn-default">Edytuj</a>
                            <a href="{{ path('webrama_product_category_delete', {'id': item.id}) }}" class="btn btn-outline btn-bg btn-default">Usuń</a></td>
                    </tr>
                {% endfor %}

修改查询后,我看到一个错误:

Method "id" for object "Demo\ProductBundle\Entity\SynchronizationSetting" does not exist in DemoProductBundle:Products:index.html.twig at line 35 

列表中的项目现在是否以某种方式分为两个实体? 我不知道...

您必须一一选择要在Twig中显示的列,如下所示:
$query = $em->createQuery('SELECT p.id, p.name, s.color, s.size FROM DemoProductBundle:Product p LEFT JOIN DemoProductBundle:SynchronizationSetting s WITH s.id_product = p.id');

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM