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

  1. <legend id='6kJz2'><style id='6kJz2'><dir id='6kJz2'><q id='6kJz2'></q></dir></style></legend>

      <bdo id='6kJz2'></bdo><ul id='6kJz2'></ul>
  2. <small id='6kJz2'></small><noframes id='6kJz2'>

    1. 使用没有实体类的本机 SQL 查询

      时间:2023-08-19
      • <legend id='pbFoe'><style id='pbFoe'><dir id='pbFoe'><q id='pbFoe'></q></dir></style></legend>
            <bdo id='pbFoe'></bdo><ul id='pbFoe'></ul>
            <tfoot id='pbFoe'></tfoot>

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

                <i id='pbFoe'><tr id='pbFoe'><dt id='pbFoe'><q id='pbFoe'><span id='pbFoe'><b id='pbFoe'><form id='pbFoe'><ins id='pbFoe'></ins><ul id='pbFoe'></ul><sub id='pbFoe'></sub></form><legend id='pbFoe'></legend><bdo id='pbFoe'><pre id='pbFoe'><center id='pbFoe'></center></pre></bdo></b><th id='pbFoe'></th></span></q></dt></tr></i><div id='pbFoe'><tfoot id='pbFoe'></tfoot><dl id='pbFoe'><fieldset id='pbFoe'></fieldset></dl></div>
                  <tbody id='pbFoe'></tbody>
                本文介绍了使用没有实体类的本机 SQL 查询的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                问题描述

                我需要使用几个联合和子查询创建本机 SQL 查询.大致如下所示:

                I need to create native SQL query with couple of unions and subqueries. It'll look approximately like this:

                SELECT res.id, COUNT(*) as count_ids
                FROM (
                    SELECT a.id FROM ... a WHERE ... LIKE ('%:param%')
                    UNION ALL
                    SELECT b.id FROM ... b WHERE ... LIKE ('%:param%')
                    UNION ALL
                    ...
                ) res
                GROUP BY res.id
                ORDER BY count_ids asc
                

                结果与我在应用程序中使用的任何实体都不匹配.是否可以使用匿名"对象创建 ResultSetMapping?或者,至少可以创建一个在下次更新架构时不会创建表的实体,以便我可以将结果映射到它?

                Result won't match any Entity I use in my application. Is it possible to create ResultSetMapping with "anonymous" object? Or is it, at least, possible to create an Entity that wouldn't create table next time I update schema, so I can map results to it?

                或者有没有其他对 Doctrine 友好的方式来处理这样的查询?但是,不可能对数据库进行更改,因为我正在处理无法触及的遗留内容.如果我在数据库方面做所有事情,而不涉及太多 PHP,我也非常喜欢.

                Or is there any other Doctrine-friendly way to deal with such query? Making changes to database isn't possible though, as I'm dealing with legacy stuff that cannot be touched. I'd also strongly prefer if I did everything on database side, not involving much of PHP in it.

                推荐答案

                您是否有将结果映射到域对象的特殊需求?如果没有,您可以使用 DBAL 进行简单的旧查询,该查询将返回一个数组,详情请参见 Symfony2 手册 和 Doctrine DBAL 文档:

                Do you have a particular need to map results to a domain object? If not, you could use the DBAL to make a plain old query, which will return an array, as detailed in the Symfony2 cookbook and the Doctrine DBAL documentation:

                $conn = $this->container->get('database_connection');
                $sql = 'SELECT res.id, COUNT(*)...';
                $rows = $conn->query($sql);
                

                这篇关于使用没有实体类的本机 SQL 查询的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                上一篇:将条件数组传递给 dotric expr()->orx() 方法 下一篇:Doctrine entitymanager clear 没有完全清除

                相关文章

                1. <legend id='iJ6Dd'><style id='iJ6Dd'><dir id='iJ6Dd'><q id='iJ6Dd'></q></dir></style></legend>
                2. <small id='iJ6Dd'></small><noframes id='iJ6Dd'>

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