SQL-запрос в контроллере Symfony - PullRequest
0 голосов
/ 27 апреля 2018

Мне нужно выполнить этот SQL-запрос в контроллере класса в Symfony:

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 голосов
/ 27 апреля 2018

Это способ, не рекомендуется, но способ:

     $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_

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...