php – MySQL在Doctrine和Symfony中定义的变量
发布时间:2020-12-13 22:31:06 所属栏目:PHP教程 来源:网络整理
导读:我有以下Doctrine声明,它工作正常. $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') -e
我有以下Doctrine声明,它工作正常.
$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你可以做到这一点; SET @rank=0; SELECT @rank:=@rank+1 as rank,u.id,u.first_name ....etc 所以我的问题是,如何让它与Symfony 1.4和Doctrine一起运行? 编辑… Doctrine_Manager::getInstance()->getCurrentConnection()->standaloneQuery('SET @rank=0;')->execute(); $query = $this->createQuery('r') ->select('r.run_time,@rank:=@rank+1 rank,r.user_id,u.gender') ->leftJoin('r.ChallengeUser u') ->orderBy('run_time') ->execute(array(),Doctrine::HYDRATE_ARRAY_SHALLOW); 添加独立查询以设置变量,并将内部联接交换为左联接. 解决方法
如果您正在使用MySQL,并且没有预见到其他DBMS的切换,也许您可??以尝试
$query = $this->createQuery('r') ->select('COUNT(u.id) as rank,Doctrine::HYDRATE_ARRAY); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |