从SQL转换为DQL

时间:2016-08-24 14:51:49

标签: repository symfony dql

你能把它转换成DQL:

SELECT molecule.cas, molecule.id_molecule, molecule.statutvlep8h, statutvlepct,
       vlep8h_mg, vlepct_mg,molecule.unitevlep, prelevement.id_laboratoire 
FROM thym_dev.molecule 
INNER JOIN thym_dev.prelevement 
WHERE molecule.id_molecule = prelevement.id_molecule

UNION ALL

SELECT molecule.cas, molecule.id_molecule, molecule.statutvlep8h, statutvlepct, 
       vlep8h_mg, vlepct_mg,molecule.unitevlep, analyse.id_laboratoire 
FROM thym_dev.molecule 
INNER JOIN thym_dev.analyse
WHERE molecule.id_molecule = analyse.id_molecule;

1 个答案:

答案 0 :(得分:0)

我得到答案:

    $queryBuilder0 = "
    SELECT molecule.molecule, molecule.cas, molecule.statutvlep8h,molecule.statutvlepct,molecule.vlep8hMg, molecule.vlepctMg,molecule.unitevlep,IDENTITY(prelevement.laboratoire)
    FROM AppBundle:Molecule molecule
    INNER JOIN AppBundle:Prelevement prelevement
    WHERE prelevement.molecule= molecule.id 
    ";

    $queryBuilder1 = "
    SELECT molecule.molecule , molecule.cas, molecule.statutvlep8h, molecule.statutvlepct, molecule.vlep8hMg, molecule.vlepctMg,molecule.unitevlep,IDENTITY(analyse.laboratoire)
    FROM AppBundle:Molecule molecule 
    INNER JOIN AppBundle:Analyse analyse
    WHERE analyse.molecule= molecule.id
    ";

    $results = array_merge($this->_em->createQuery($queryBuilder0)->getResult(), $this->_em->createQuery($queryBuilder1)->getResult());