«arel» 태그된 질문

5
NOT NIL을 사용하는 상태의 레일
rails 3 스타일을 사용하면 어떻게 반대편을 쓸 수 있습니까? Foo.includes(:bar).where(:bars=>{:id=>nil}) id가 nil이 아닌 곳을 찾고 싶습니다. 나는 시도했다 : 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 : through 버전은 어떻습니까? class Person has_many :contacts has_many :friends, :through => :contacts, :uniq => true end class Friend has_many :contacts …

8
두 개의 ActiveRecord :: Relation 객체를 결합
다음 두 개체가 있다고 가정합니다. first_name_relation = User.where(:first_name => 'Tobias') # ActiveRecord::Relation last_name_relation = User.where(:last_name => 'Fünke') # ActiveRecord::Relation 두 관계를 결합하여 두 ActiveRecord::Relation조건을 모두 포함 하는 하나의 객체 를 생성 할 수 있습니까? 참고 :이 동작을 수행 할 수있는 곳을 연결할 수 있다는 것을 알고 있습니다. 실제로 관심이있는 것은 …

3
Arel 및 Rails에서 LIKE 쿼리를 수행하는 방법은 무엇입니까?
다음과 같이하고 싶습니다. 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 문이므로 작동하지 않습니다. Arel에서 LIKE 쿼리를 어떻게 …

4
Rails 3.0에서 Arel은 정확히 무엇입니까?
ActiveRecord를 대체하고 쿼리 대신 개체를 사용한다는 것을 이해합니다. 그러나... 왜 이것이 더 낫습니까? 개체 / 쿼리를 "더 쉽게"만들 수 있습니까? 더 효율적인 SQL 쿼리로 이어질까요? 모든 주요 DB와 호환됩니까? -그럴 거라고 생각합니다. 저장 프로 시저와 함께 사용하는 것이 더 쉬울까요?

5
activerecord의 하위 쿼리
SQL을 사용하면 다음과 같은 하위 쿼리를 쉽게 수행 할 수 있습니다. User.where(:id => Account.where(..).select(:user_id)) 이것은 다음을 생성합니다. SELECT * FROM users WHERE id IN (SELECT user_id FROM accounts WHERE ..) rails의 3 activerecord / arel / meta_where를 사용하여 어떻게 할 수 있습니까? 실제 하위 쿼리가 필요하거나 루비 해결 방법이 없습니다 …
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.