このコードで:
candidates = Challenge.joins(:projectmilestone).where("challenges.id in (?) and projectmilestones.user_id = ?", c.subtree_ids, assignee.id)
logger.debug "candidates: #{candidates.count}"
これをログに記録します:
SELECT COUNT(*) FROM "challenges" INNER JOIN "projectmilestones" ON "projectmilestones"."id" = "challenges"."projectmilestone_id" WHERE (challenges.id in (1122) and projectmilestones.user_id = 123)
Candidate projectmilestones: 0
データベースで直接クエリを実行すると、結果は 1 です Activerecord が結果 = 0 と表示するのはなぜですか?
コードから「and projectmilestones.user_id」を削除すると、正しく実行されることに注意してください。
これは私を数時間夢中にさせています...