Controller Symfony中的SQL查询

时间:2018-04-27 02:45:05

标签: php symfony

我需要在symfony的类Controller中执行此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的新手,所以我不太了解。

1 个答案:

答案 0 :(得分:0)

这是一种方式,不是可取的,而是一种方式:

     $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_用于postgres,mysql使用mysqli_而不是