実際に私はいくつかの列を持つテーブルを持っていますが、私はいくつかの列をフィルタリングする必要があり、これらの3 i`llの必要性:私は生のSQLでこれをやったSELECT CASE - ドクトリン+ symfonyの3
id | tipodemonstrativo | anoreferencia
---+-------------------+--------------
01 | AN | 2015
02 | AN | 2016
03 | SE | 2014
04 | PB | 2015
SELECT anoreferencia,
CASE tipodemonstrativo
WHEN 'PB' THEN CONCAT(anoreferencia, '-03-31')
WHEN 'SE' THEN CONCAT(anoreferencia, '-06-30')
WHEN 'SB' THEN CONCAT(anoreferencia, '-09-30')
WHEN 'AN' THEN CONCAT(anoreferencia, '-12-31')
END AS referencia
FROM demonstrativofinanceiro
ORDER BY referencia DESC
LIMIT 4
それは、この何かのリンクを結果:
id | referencia
---+------------
01 | 2015-12-31
02 | 2016-12-31
03 | 2014-06-30
04 | 2015-03-31
I`mしかし、誰succeと、DQLのアプローチと同じ結果に到達しようss。私は生のSQLでこれをやったが、配列を与える:
$em = $this->getDoctrine()->getManager();
$query = "SELECT *,
CASE tipodemonstrativo
WHEN 'PB' THEN CONCAT(anoreferencia, '-03-31')
WHEN 'SE' THEN CONCAT(anoreferencia, '-06-30')
WHEN 'SB' THEN CONCAT(anoreferencia, '-09-30')
WHEN 'AN' THEN CONCAT(anoreferencia, '-12-31')
END AS referencia
FROM demonstrativofinanceiro
ORDER BY referencia DESC
LIMIT 4";
$stmt = $em->getConnection()->prepare($query);
$stmt->execute();
$result = $stmt->fetchAll();
しかし、この結果配列に、そしてすべての私の見解は、準備ができて、オブジェクトだった...私は、 `私は、配列を照会する場合は、ページの多くを変更する必要があります。
誰かがこれを手伝ってくれますか?ありがとう!! Symfony2ので
うまく働いています! –