Php 控制器Symfony中的SQL查询

Php 控制器Symfony中的SQL查询,php,symfony,Php,Symfony,我需要在symfony中的类控制器中执行此SQL查询: SELECT * FROM Announcement INNER JOIN User ON Announcement.userId=User.userId 它在phpmyadmin上运行良好,我尝试在我的类控制器上这样做: $helpers = $this->get("app.helpers"); $em = $this->getDoctrine()->getManager(); $connection = $em-&g

我需要在symfony中的类控制器中执行此SQL查询:

SELECT * FROM Announcement INNER JOIN User ON Announcement.userId=User.userId
它在phpmyadmin上运行良好,我尝试在我的类控制器上这样做:

$helpers = $this->get("app.helpers");
$em = $this->getDoctrine()->getManager();
$connection = $em->getConnection();
$statement = $connection->prepare("SELECT * FROM Announcement INNER JOIN User ON Announcement.userId=User.userId FOR JSON AUTO");
$statement->execute();
return $helpers->json($statement->fetchAll());

但是正在返回
null
。我做错了什么。我是symfony的新手,所以我知道的不多。

这是一种方式,不可取,但有一种方式:

     $sql = "SELECT * FROM Announcement INNER JOIN User ON Announcement.userId=User.userId FOR JSON AUTO";
    $conn = $this->container->get('doctrine')->getEntityManager()->getConnection();
    $params = $conn->getParams();
    $paramHost = $params['host'];
    $paramPort = $params['port'];
    $paramDb = $params['dbname'];
    $paramUser = $params['user'];
    $paramPass = $params['password'];
    $myConn = "host=$paramHost port=$paramPort dbname=$paramDb user=$paramUser password=$paramPass";
    $conn = pg_connect($myConn);
    pg_query($sql);
    pg_close($conn);

请注意,pg_u用于postgres,mysql使用mysqli_u,而不是

您不能在Annoucement repository中设置返回->getArrayResult()的方法,并在控制器中对结果进行json_编码?是否存在中间结果
fetchAll
返回一些东西?“FOR JSON AUTO”在mysql服务器上工作?好的,很抱歉没有回答这个问题,首先,因为JSON AUTO在mysql上不工作,其次,代码是好的,一直是我,我输入的url错误。我将删除问题并隐藏。谢谢你的帮助!!