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表: 评论表: 谢谢 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); } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |