Grafikart/CakePHP-Media — pull request #52 by rbecheras (2014-06-25 15:55:42+00:00)
Title: Fix syntax error causing bad sql request

J'ai remplacé les double quotes par des simples quotes échappés pour passer la reference du model.
Sur postgresql (au moins) cela causait une erreur d'interprétation :

Dans mon exemple, le modèle s'appelle «Organisme»

La requête SQL générée par CakePHP était (avant ma modif) :

SELECT "Media"."id" AS "Media__id",
"Media"."ref" AS "Media__ref",
"Media"."ref_id" AS "Media__ref_id",
"Media"."file" AS "Media__file",
"Media"."position" AS "Media__position"
FROM "mpdefault"."medias" AS "Media"
WHERE ref = Organisme AND "Media"."ref_id" = (15) ORDER BY "Media"."position" ASC

PGSQL renvoyait :

- ERROR: column "Organisme" does not exist
- État SQL :42703

Et maintenant la requête est :

SELECT "Media"."id" AS "Media__id",
"Media"."ref" AS "Media__ref",
"Media"."ref_id" AS "Media__ref_id",
"Media"."file" AS "Media__file",
"Media"."position" AS "Media__position"
FROM "mpdefault"."medias" AS "Media"
WHERE ref = 'Organisme' AND "Media"."ref_id" = (15) ORDER BY "Media"."position" ASC

Et ça passe comme dans du beurre :)

Il faudrait cependant confirmer que comme ça, ça fonctionne toujours sous mysql, mais j'ai tendance à penser que oui...