Als «arel» getaggte Fragen

5
Schienen wo Zustand mit NICHT NIL
Wie würde ich mit dem Rails 3-Stil das Gegenteil von schreiben: Foo.includes(:bar).where(:bars=>{:id=>nil}) Ich möchte herausfinden, wo id NICHT Null ist. Ich habe es versucht: Foo.includes(:bar).where(:bars=>{:id=>!nil}).to_sql Aber das kehrt zurück: => "SELECT \"foos\".* FROM \"foos\" WHERE (\"bars\".\"id\" = 1)" Das ist definitiv nicht das, was ich brauche, und scheint fast wie …


8
Kombinieren Sie zwei ActiveRecord :: Relation-Objekte
Angenommen, ich habe die folgenden zwei Objekte: first_name_relation = User.where(:first_name => 'Tobias') # ActiveRecord::Relation last_name_relation = User.where(:last_name => 'Fünke') # ActiveRecord::Relation Ist es möglich, die beiden Beziehungen zu kombinieren, um ein ActiveRecord::RelationObjekt zu erzeugen, das beide Bedingungen enthält? Hinweis: Mir ist bewusst, dass ich die Orte verketten kann, an denen …

3
Wie mache ich eine LIKE-Abfrage in Arel and Rails?
Ich möchte so etwas tun wie: SELECT * FROM USER WHERE NAME LIKE '%Smith%'; Mein Versuch in Arel: # params[:query] = 'Smith' User.where("name like '%?%'", params[:query]).to_sql Dies wird jedoch: SELECT * FROM USER WHERE NAME LIKE '%'Smith'%'; Arel umschließt die Abfragezeichenfolge 'Smith' korrekt, aber da dies eine LIKE-Anweisung ist, funktioniert …

4
Was genau ist Arel in Rails 3.0?
Ich verstehe, dass es ein Ersatz für ActiveRecord ist und dass es Objekte anstelle von Abfragen verwendet. Aber... warum ist das besser Werden Objekte / Abfragen "einfacher" zu erstellen sein? Wird dies zu effizienteren SQL-Abfragen führen? Wird es mit allen wichtigen DBs kompatibel sein? - Ich gehe davon aus, dass …

5
Unterabfragen in Activerecord
Mit SQL kann ich einfach solche Unterabfragen durchführen User.where(:id => Account.where(..).select(:user_id)) Dies erzeugt: SELECT * FROM users WHERE id IN (SELECT user_id FROM accounts WHERE ..) Wie kann ich dies mit Rails '3 activerecord / arel / meta_where tun? Ich brauche / will echte Unterabfragen, keine Ruby-Problemumgehungen (mit mehreren Abfragen).
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.