복붙노트

[RUBY-ON-RAILS] 액티브 또는 쿼리 해시 표기

RUBY-ON-RAILS

액티브 또는 쿼리 해시 표기

나는 어디에서 액티브 방식의 인수를 공급하는 3 개 주요 표기법이 알고 :

지정하고, 어디에 방법에 대한 정직하고 있습니다 :

# Pure String notation
Person.where("name = 'Neil' AND age = 27")

# Array notation
Person.where(["name = ? AND age = ?", 'Neil', 27])

# Hash notation
Person.where({name: "Neil", age: 27})

지정 또는 방법은 해시 구문 나를 유세되는 경우이 동일합니다. 그것은 수 있습니까?

# Pure String notation
Person.where("name = 'Neil' OR age = 27")

# Array notation
Person.where(["name = ? OR age = ?", 'Neil', 27])

# Hash notation DOESN'T WORK
Person.where({name: "Neil" OR age: 27})

해결법

  1. ==============================

    1.«해시 표기법»의 구현으로 간주 될 수있는 5 개 가지 옵션이 있습니다 (마지막이 좀 해시 틱 있습니다) :

    «해시 표기법»의 구현으로 간주 될 수있는 5 개 가지 옵션이 있습니다 (마지막이 좀 해시 틱 있습니다) :

  2. ==============================

    2.로 potashin 말한다,이 기능을 구현하는 또 다른 타사 플러그인을 사용할 수 있습니다. 나는 Squeel를 사용하여 오랜 시간을이 꽤 잘 작동하고 훨씬 더 복잡한 서브 쿼리 같은 기능 또는 조인.

    로 potashin 말한다,이 기능을 구현하는 또 다른 타사 플러그인을 사용할 수 있습니다. 나는 Squeel를 사용하여 오랜 시간을이 꽤 잘 작동하고 훨씬 더 복잡한 서브 쿼리 같은 기능 또는 조인.

    비명을 사용하여 해당 쿼리 :

    @people= Person.where{(name == 'Neil') | (age = 27)}
    
  3. from https://stackoverflow.com/questions/31096009/activerecord-or-query-hash-notation by cc-by-sa and MIT license