<tfoot id='5q1vy'></tfoot>
<legend id='5q1vy'><style id='5q1vy'><dir id='5q1vy'><q id='5q1vy'></q></dir></style></legend>
  • <small id='5q1vy'></small><noframes id='5q1vy'>

        <bdo id='5q1vy'></bdo><ul id='5q1vy'></ul>
    1. <i id='5q1vy'><tr id='5q1vy'><dt id='5q1vy'><q id='5q1vy'><span id='5q1vy'><b id='5q1vy'><form id='5q1vy'><ins id='5q1vy'></ins><ul id='5q1vy'></ul><sub id='5q1vy'></sub></form><legend id='5q1vy'></legend><bdo id='5q1vy'><pre id='5q1vy'><center id='5q1vy'></center></pre></bdo></b><th id='5q1vy'></th></span></q></dt></tr></i><div id='5q1vy'><tfoot id='5q1vy'></tfoot><dl id='5q1vy'><fieldset id='5q1vy'></fieldset></dl></div>

      1. 使用 Doctrine (Symfony2) 查询表时缺少行

        时间:2024-08-15
        <i id='kmNpk'><tr id='kmNpk'><dt id='kmNpk'><q id='kmNpk'><span id='kmNpk'><b id='kmNpk'><form id='kmNpk'><ins id='kmNpk'></ins><ul id='kmNpk'></ul><sub id='kmNpk'></sub></form><legend id='kmNpk'></legend><bdo id='kmNpk'><pre id='kmNpk'><center id='kmNpk'></center></pre></bdo></b><th id='kmNpk'></th></span></q></dt></tr></i><div id='kmNpk'><tfoot id='kmNpk'></tfoot><dl id='kmNpk'><fieldset id='kmNpk'></fieldset></dl></div>

              <tbody id='kmNpk'></tbody>

            <tfoot id='kmNpk'></tfoot>
              <bdo id='kmNpk'></bdo><ul id='kmNpk'></ul>
            • <legend id='kmNpk'><style id='kmNpk'><dir id='kmNpk'><q id='kmNpk'></q></dir></style></legend>

              <small id='kmNpk'></small><noframes id='kmNpk'>

                  本文介绍了使用 Doctrine (Symfony2) 查询表时缺少行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  I'm encountering a strange issue with Doctrine.

                  I need to query a simple table with only 1 inner join, which I something I have already done many times. But in this case something's odd: there are a lot of rows missing.

                  I have an entity called Policy. It is linked to a table on my Oracle database. There are 81k+ rows in this table. When querying this entity with the Doctrine query builder, I only get 5k results. I made this query as simple as possible for testing :

                  $qb = $em->createQueryBuilder();
                  $qb->select('p')->from('ErwMonitoringExtranetBundle:Policy', 'p');
                  $query = $qb->getQuery();
                  $policiesFull = $query->getResult();
                  

                  The $policiesFull variable only contains 5k elements. There are no duplicates in the table.

                  The SQL query that is generated by Doctrine looks like this :

                  SELECT
                    r0_.node_group_name      AS NODE_GROUP_NAME0,
                    r0_.policy_name          AS POLICY_NAME1,
                    r0_.policy_description   AS POLICY_DESCRIPTION2,
                    r0_.policy_group_name    AS POLICY_GROUP_NAME3,
                    r0_.policy_type_name     AS POLICY_TYPE_NAME4,
                    r0_.policy_name_on_agent AS POLICY_NAME_ON_AGENT5,
                    r0_.date_last_maj        AS DATE_LAST_MAJ6,
                    r0_.om_name              AS OM_NAME7,
                    r0_.id_node              AS ID_NODE8
                  FROM
                    ewintranet.ref_monitored_ci;
                  

                  Running the same exact query on Oracle returns the full table content.

                  Counting results through a doctrine query returns the correct number of rows :

                  $qb = $em->createQueryBuilder();
                  $qb->select('count(p)')->from('ErwMonitoringExtranetBundle:Policy', 'p');
                  $query = $qb->getQuery();
                  echo $query->getSingleScalarResult();
                  

                  This returns 81k.

                  Does anybody know why all these rows disappear after using getResult() ?

                  解决方案

                  Okay, I found out what was causing my issue. The primary ID was wrong in my Entity declaration.

                  The oracle table had a composed primary key while in my entity the ID was only on one column. GetResult was making a DISTINCT on this column.

                  这篇关于使用 Doctrine (Symfony2) 查询表时缺少行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:什么是"ObjectManager 和 EntityManagerInterface 之间的兼容性在更新 Do 下一篇:让 Doctrine 使用 MySQL “FORCE INDEX"

                  相关文章

                • <small id='mb9xq'></small><noframes id='mb9xq'>

                  <i id='mb9xq'><tr id='mb9xq'><dt id='mb9xq'><q id='mb9xq'><span id='mb9xq'><b id='mb9xq'><form id='mb9xq'><ins id='mb9xq'></ins><ul id='mb9xq'></ul><sub id='mb9xq'></sub></form><legend id='mb9xq'></legend><bdo id='mb9xq'><pre id='mb9xq'><center id='mb9xq'></center></pre></bdo></b><th id='mb9xq'></th></span></q></dt></tr></i><div id='mb9xq'><tfoot id='mb9xq'></tfoot><dl id='mb9xq'><fieldset id='mb9xq'></fieldset></dl></div>

                  • <bdo id='mb9xq'></bdo><ul id='mb9xq'></ul>

                      <legend id='mb9xq'><style id='mb9xq'><dir id='mb9xq'><q id='mb9xq'></q></dir></style></legend>
                      <tfoot id='mb9xq'></tfoot>