加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php – 如何在Symfony中构建Docterine内部连接查询

发布时间:2020-12-13 16:55:29 所属栏目:PHP教程 来源:网络整理
导读:我正在研究Symfony项目,我想为这个SQL创建Doctrine Query. USER表: 列 – ??昵称 评论表: 列 – ??用户身份 ,评论, ??CREATED_AT 谢谢 SELECT`USER`.NICK_NAME,REVIEWS.REVIEW,REVIEWS.CREATED_ATFROMREVIEWSINNER JOIN `USER` ON REVIEWS.USER_ID = `USER
我正在研究Symfony项目,我想为这个SQL创建Doctrine Query.

USER表:
列 –
??昵称

评论表:
列 –
??用户身份
,评论,
??CREATED_AT

谢谢

SELECT
`USER`.NICK_NAME,REVIEWS.REVIEW,REVIEWS.CREATED_AT
FROM
REVIEWS
INNER JOIN `USER` ON REVIEWS.USER_ID = `USER`.ID
WHERE
REVIEWS.MOVIE_ID = 625
GROUP BY
REVIEWS.USER_ID

我试过这样的事

$q = Doctrine_Query::create()
            ->select("u.NICK_NAME,r.REVIEW,r.CREATED_AT")
            ->from('REVIEWS r')
            ->innerJoin('`USER` ON REVIEWS.USER_ID = `USER`.ID')
            ->where('REVIEWS.MOVIE_ID = 625')
            ->groupBy('REVIEWS.USER_ID');

得到了这个:

500 | Internal Server Error | Doctrine_Exception Couldn't find class `USER`

解决方法

在Symfony中不使用复杂的DQL,您可以使用简单的SQL.
在要运行DQL的控制器中尝试此功能.

function getUserReviews($params) {
        $query = "SELECT REVIEWS.REVIEW,`USER`.NICK_NAME,REVIEWS.CREATED_AT FROM REVIEWS INNER JOIN `USER` ON REVIEWS.USER_ID = `USER`.ID WHERE REVIEWS.MOVIE_ID ='".$params."'";
        return Doctrine_Manager::getInstance()->getCurrentConnection()->fetchAssoc($query);
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读