Tôi háo hức tải một đối tượng mô hình với các hiệp hội của nó:Rails tải Háo hức và mệnh đề where
user= User.includes(:posts).find(1)
Nhưng sau đó tại một số điểm trong đoạn code tôi muốn làm một cái gì đó như thế này:
user.posts.where(:topic => "x")
Nhưng điều đó chỉ chạy lại truy vấn một lần nữa. Vì vậy, thay vào đó tôi nghĩ tôi sẽ làm điều này:
user.posts.select{|post| post.topic == "x" }
Điều đó không chạy lại truy vấn. Nhưng tôi có một vài câu hỏi.
Trước tiên, đây có phải là cách phù hợp để làm điều đó không?
Thứ hai, tôi hơi bối rối về lựa chọn trong trường hợp này. Bởi vì khi tôi chạy dòng cuối cùng ngay cả khi tôi đã không sử dụng chức năng bao gồm, lần đầu tiên nó chạy truy vấn và sau đó sau đó nếu tôi chạy nó một lần nữa, nó không .. như vậy là có một số loại bộ nhớ đệm có liên quan? Bởi vì khi tôi sử dụng mệnh đề where nó chạy truy vấn mỗi lần duy nhất.
Cảm ơn bạn.
Điều này là hoàn hảo, cảm ơn! – user1069624