ในกรณีที่ผมมี 2 model ลักษณะนี้
class Book < ActiveRecord::Base has_many :comments end class Comment < ActiveRecord::Base belong_to :book end
ถ้าผมต้องการดึง Book พร้อม Comment โดยจะดึงเฉพาะ Book ที่อยู่ในกลุ่ม "ruby"
books = Book.find(:all, :condition => {:group => "ruby"}, :include => [:comments])
แต่ถ้าผมต้องการดึงมาเป็น array ของ comment แต่ใช้เงื่อนไขเดิมว่า Book ของ comment นั้นจะต้องอยู่ในกลุ่ม "ruby"
comments = Comment.find(:all, :include =>[:book], :condition => ["books.group = ?", "ruby"])
ในกรณีนี้ถ้าผมมี condition สำหรับทั้ง comment และ book ก็ทำได้ทันที
comments = Comment.find(:all, :include =>[:book], :condition => ["books.group = ? and owner = ?", "ruby", "Ramda"])
คำถามไม่มีครับ :P ระหว่างที่เขียนมาถามบังเอิญหาวิธีได้เลยตอบตัวเองไปเลย
จะมีติดใจตรงที่อยากใช้ condition เป็นแบบนี้
:condition => {:book.group => "ruby", :owner => "Ramda"}
แต่มันทำไม่ได้ :'(
กระทู้เก่าๆ จะย้ายตามไปในภายหลัง ตอนนี้ปิดการโพสต์กระทู้ไว้ เหลือไว้เฉพาะอ้างอิงเท่านั้น
ขอบคุณครับ อ่านแล้วสนุกมาก