คำถามติดแท็ก arel

5
Rails ที่เงื่อนไขใช้ NOT NIL
ใช้สไตล์ 3 รางฉันจะเขียนสิ่งที่ตรงกันข้ามอย่างไร: Foo.includes(:bar).where(:bars=>{:id=>nil}) ฉันต้องการหาที่ id ไม่ได้เป็นศูนย์ ฉันเหนื่อย: Foo.includes(:bar).where(:bars=>{:id=>!nil}).to_sql แต่มันกลับมา: => "SELECT \"foos\".* FROM \"foos\" WHERE (\"bars\".\"id\" = 1)" นั่นไม่ใช่สิ่งที่ฉันต้องการแน่นอนและเกือบจะดูเหมือนเป็นข้อผิดพลาดใน AREL

8
ต้องการค้นหาระเบียนที่ไม่มีระเบียนที่เกี่ยวข้องใน Rails
พิจารณาการเชื่อมโยงที่เรียบง่าย ... class Person has_many :friends end class Friend belongs_to :person end อะไรคือวิธีที่สะอาดที่สุดในการรับทุกคนที่ไม่มีเพื่อนใน AREL และ / หรือ meta_where จากนั้นมี has_many: ถึงเวอร์ชัน class Person has_many :contacts has_many :friends, :through => :contacts, :uniq => true end class Friend has_many :contacts has_many :people, :through => :contacts, :uniq => true end class Contact belongs_to …

8
รวมสอง ActiveRecord :: วัตถุที่เกี่ยวข้อง
สมมติว่าฉันมีวัตถุสองรายการต่อไปนี้: first_name_relation = User.where(:first_name => 'Tobias') # ActiveRecord::Relation last_name_relation = User.where(:last_name => 'Fünke') # ActiveRecord::Relation เป็นไปได้หรือไม่ที่จะรวมความสัมพันธ์ทั้งสองเข้าด้วยกันเพื่อสร้างActiveRecord::Relationวัตถุหนึ่งที่มีทั้งสองเงื่อนไข? หมายเหตุ: ฉันทราบว่าฉันสามารถรวบรวมสิ่งที่จะทำให้เกิดพฤติกรรมนี้ได้สิ่งที่ฉันสนใจจริงๆคือกรณีที่ฉันมีActiveRecord::Relationวัตถุสองชิ้นแยกกัน

3
จะทำแบบสอบถาม LIKE ใน Arel และ Rails ได้อย่างไร?
ฉันต้องการทำสิ่งที่ชอบ: SELECT * FROM USER WHERE NAME LIKE '%Smith%'; ความพยายามของฉันใน Arel: # params[:query] = 'Smith' User.where("name like '%?%'", params[:query]).to_sql อย่างไรก็ตามสิ่งนี้จะกลายเป็น: SELECT * FROM USER WHERE NAME LIKE '%'Smith'%'; Arel ตัดสตริงข้อความค้นหา "Smith" อย่างถูกต้อง แต่เนื่องจากนี่เป็นคำสั่ง LIKE จึงไม่สามารถใช้งานได้ คำถาม LIKE ใน Arel ทำอย่างไร PS Bonus - จริงๆแล้วฉันกำลังพยายามสแกนสองฟิลด์บนตารางทั้งชื่อและคำอธิบายเพื่อดูว่าตรงกับข้อความค้นหาหรือไม่ วิธีการที่จะทำงาน?

4
Arel in Rails 3.0 คืออะไร?
ฉันเข้าใจว่าเป็นการแทนที่ ActiveRecord และใช้วัตถุแทนการสืบค้น แต่... ทำไมถึงดีกว่านี้? ออบเจ็กต์ / คิวรีจะสร้าง "ง่ายกว่า" ไหม จะนำไปสู่การสืบค้น SQL ที่มีประสิทธิภาพมากขึ้นหรือไม่? จะเข้ากันได้กับฐานข้อมูลหลักทั้งหมดหรือไม่ - ฉันคิดว่ามันจะ มันจะง่าย / ยากกว่าที่จะใช้กับขั้นตอนการจัดเก็บ?
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.