我其實有2個相關的問題。我做了一個DQL請求(她工作正常),但是我的老闆告訴我這是一個安全風險,我不得不使用ORM。我發現這很奇怪,我想知道爲什麼,但是我無法找到任何告訴我爲什麼這是安全風險的東西。DQL到ORM - 查詢生成器Symfony
所以我的第一個問題是你知道爲什麼嗎?
這裏是要求:
$sql="SELECT v.id,v.codeVague, v.date_fin_ultime,c.distance,p.adresse1,p.code_postal,p.ville,m
FROM McInvestigatorBundle:Vague v
INNER JOIN McInvestigatorBundle:Enquete e WITH e.vague_id = v.id
INNER JOIN McInvestigatorBundle:Mission m WITH m.id = e.mission_id
INNER JOIN McInvestigatorBundle:Contrat c WITH c.id = m.contrat
INNER JOIN McInvestigatorBundle:User u WITH u.enqueteur_id = e.enqueteur_id
INNER JOIN McInvestigatorBundle:PointDeVente p WITH p.id = e.pdv_id
WHERE v.codeVague ='".$wave_code."'
AND e.type_id =".$type_id."
AND m.enqueteur_id=".$enq_id."
ORDER BY m.date_rea_prev ASC";
$results= $em->createQuery($sql)->getResult();
我的第二個問題是「最重要的」,我需要翻譯我的要求使用ORM作爲我的老闆說。我想過使用查詢生成器,但我甚至不確定查詢生成器是否爲ORM。是嗎 ?如果不是,我需要用什麼方式才能獲得完整的ORM?
'Doctrine \ ORM \ QueryBuilder'絕對是您的數據庫的ORM接口。沒有不完整的ORM。儘管有一個數據庫抽象層,「doctrine/dbal」庫,其上構建了「doctrine/orm」。 – svgrafov