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

      <legend id='76t9N'><style id='76t9N'><dir id='76t9N'><q id='76t9N'></q></dir></style></legend>

        <small id='76t9N'></small><noframes id='76t9N'>

        • <bdo id='76t9N'></bdo><ul id='76t9N'></ul>

        Doctrine 和 Symfony 中的 MySQL 用户定义变量

        时间:2024-08-09
        <legend id='W5Omx'><style id='W5Omx'><dir id='W5Omx'><q id='W5Omx'></q></dir></style></legend>

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

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

                    <tbody id='W5Omx'></tbody>
                  本文介绍了Doctrine 和 Symfony 中的 MySQL 用户定义变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我有以下 Doctrine 声明,效果很好.

                  I have the following Doctrine statement which works fine.

                  $query = $this->createQuery('r')
                              ->select('u.id, CONCAT(u.first_name, " ", LEFT(u.last_name,1)) as full_name, u.first_name, u.last_name, u.gender, r.run_time')
                              ->innerJoin('r.ChallengeUser u')
                              ->orderBy('run_time')
                              ->execute(array(), Doctrine::HYDRATE_ARRAY_SHALLOW);
                  

                  我需要在其中添加行数.现在我知道使用原始 SQL 可以做到这一点;

                  I need to add a row count into this. Now I know with raw SQL you can do this;

                  SET @rank=0;
                  SELECT @rank:=@rank+1 as rank, u.id, u.first_name ....etc
                  

                  所以我的问题是,我怎样才能让它与 Symfony 1.4 和 Doctrine 一起运行?我在这个项目中使用 MySQL.

                  So my question is, how can I get this to run with Symfony 1.4 and Doctrine? I am using MySQL for this project.

                  编辑...我想通了..

                  Edit... I figured it out..

                  Doctrine_Manager::getInstance()->getCurrentConnection()->standaloneQuery('SET @rank=0;')->execute();
                  
                  $query = $this->createQuery('r')
                              ->select('r.run_time, @rank:=@rank+1 rank, r.user_id, CONCAT(u.first_name, " ", LEFT(u.last_name,1)) as full_name, u.first_name, u.last_name, u.gender')
                              ->leftJoin('r.ChallengeUser u')
                              ->orderBy('run_time')
                              ->execute(array(), Doctrine::HYDRATE_ARRAY_SHALLOW);
                  

                  添加独立查询以设置变量,并将内连接交换为左连接.

                  Add the standalone query in to set the variable, and swap the inner join to a left join.

                  推荐答案

                  如果你正在使用 MySQL,并且没有预见到切换到其他 DBMS,也许你可以尝试

                  if you are using MySQL, and no switches to other DBMS are foreseen, maybe you could try

                  $query = $this->createQuery('r')
                              ->select('COUNT(u.id) as rank, u.id, CONCAT(u.first_name, " ", LEFT(u.last_name,1)) as full_name, u.first_name, u.last_name, u.gender, r.run_time')
                              ->innerJoin('r.ChallengeUser u')
                              ->orderBy('run_time')
                              ->execute(array(), Doctrine::HYDRATE_ARRAY);
                  

                  这篇关于Doctrine 和 Symfony 中的 MySQL 用户定义变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  上一篇:教义2:在一对多的双向关系中,如何从反面保存? 下一篇:为什么列别名在学说中不起作用?

                  相关文章

                1. <legend id='jXzH7'><style id='jXzH7'><dir id='jXzH7'><q id='jXzH7'></q></dir></style></legend>
                    <bdo id='jXzH7'></bdo><ul id='jXzH7'></ul>
                    <tfoot id='jXzH7'></tfoot>

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

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