Php 控制器Symfony中的SQL查询
我需要在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
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错误。我将删除问题并隐藏。谢谢你的帮助!!