私は実際に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/orm'が構築されている' doctrine/dbal'ライブラリがあります。 – svgrafov