Pytania otagowane jako arel

5
Szyny, w których warunek jest użyty NIE NIL
Używając stylu szyn 3, jak napisałbym przeciwieństwo: Foo.includes(:bar).where(:bars=>{:id=>nil}) Chcę dowiedzieć się, gdzie identyfikator NIE jest zerowy. Próbowałem: Foo.includes(:bar).where(:bars=>{:id=>!nil}).to_sql Ale to zwraca: => "SELECT \"foos\".* FROM \"foos\" WHERE (\"bars\".\"id\" = 1)" To zdecydowanie nie jest to, czego potrzebuję i prawie wydaje się błędem w ARel.

8
Chcesz znaleźć rekordy bez powiązanych rekordów w Railsach
Rozważ proste skojarzenie ... class Person has_many :friends end class Friend belongs_to :person end Jaki jest najczystszy sposób na zdobycie wszystkich osób, które NIE mają przyjaciół w ARel i / lub meta_where? A co z has_many: poprzez wersję class Person has_many :contacts has_many :friends, :through => :contacts, :uniq => true …

8
Połącz dwa obiekty ActiveRecord :: Relation
Załóżmy, że mam następujące dwa obiekty: first_name_relation = User.where(:first_name => 'Tobias') # ActiveRecord::Relation last_name_relation = User.where(:last_name => 'Fünke') # ActiveRecord::Relation czy można połączyć te dwie relacje w celu uzyskania jednego ActiveRecord::Relationobiektu zawierającego oba warunki? Uwaga: zdaję sobie sprawę, że mogę połączyć miejsca, aby uzyskać takie zachowanie, naprawdę interesuje mnie przypadek, …

3
Jak wykonać zapytanie LIKE w Arel and Rails?
Chcę zrobić coś takiego: SELECT * FROM USER WHERE NAME LIKE '%Smith%'; Moja próba w Arel: # params[:query] = 'Smith' User.where("name like '%?%'", params[:query]).to_sql Jednak staje się to: SELECT * FROM USER WHERE NAME LIKE '%'Smith'%'; Arel poprawnie opakowuje ciąg zapytania „Smith”, ale ponieważ jest to instrukcja LIKE, nie działa. …

4
Czym dokładnie jest Arel w Railsach 3.0?
Rozumiem, że jest to zamiennik dla ActiveRecord i używa obiektów zamiast zapytań. Ale... dlaczego tak jest lepiej czy obiekty / zapytania będą „łatwiejsze” do tworzenia? czy doprowadzi to do wydajniejszych zapytań SQL? czy będzie kompatybilny ze wszystkimi głównymi bazami danych? - Zakładam, że tak. czy korzystanie z procedur przechowywanych będzie …

5
Podzapytania w activerecord
Dzięki SQL mogę łatwo wykonywać takie pod-zapytania User.where(:id => Account.where(..).select(:user_id)) To daje: SELECT * FROM users WHERE id IN (SELECT user_id FROM accounts WHERE ..) Jak mogę to zrobić za pomocą 3 activerecord / arel / meta_where railsów? Potrzebuję / chcę prawdziwych podzapytań, żadnych obejść w Ruby (przy użyciu kilku …
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.