Si vous ajoutez un WHERE
condition sur les colonnes de droite table après un LEFT JOIN
, vous le forcez à agir comme un INNER JOIN
.
Solution
Tirez l'expression vers le haut dans la condition jusqu'au LEFT JOIN
.
Selon la page de manuel que vous cité vous-même
:
Et :
Vous avez peut-être mal lu cette phrase.
Ceci devriez faire ce que vous voulez :
Post.joins('LEFT OUTER JOIN images ON images.post_id = posts.id
AND images.service_name = $$acme$$')
Je ne suis pas un expert Ruby, mais je tire ceci du manuel ici
.
Je ne sais pas comment échapper les guillemets simples, j'ai donc opté pour les guillemets en dollars à la place.