jestem chętny ładowanie modelu obiektu z jego zrzeszonychSzyny zachłanne ładowanie i gdzie klauzula
user= User.includes(:posts).find(1)
ale w niektórych punktach w kodzie chciałbym zrobić coś takiego:
user.posts.where(:topic => "x")
Ale to tylko ponownie uruchamia kwerendę ponownie. Zamiast tego pomyślałem, że zrobię to:
user.posts.select{|post| post.topic == "x" }
To nie powoduje ponownego uruchomienia zapytania. Ale mam kilka pytań.
Po pierwsze, czy jest to właściwy sposób na zrobienie tego?
Po drugie, jestem nieco zdezorientowany tym, co wybiera w tym przypadku. Ponieważ po uruchomieniu ostatniej linii, nawet gdy nie korzystałem z funkcji include, po raz pierwszy uruchamia ona zapytanie, a następnie, jeśli uruchomię ją ponownie, to nie jest. Czy jest tam coś w rodzaju buforowania? Ponieważ, gdy używam klauzuli where, uruchamia ona zapytanie za każdym razem.
Dziękuję.
To jest idealne, dzięki! – user1069624