Arel # 추출 방법을 사용하려고합니다. 나는 소스에서 test_extract.rb의 테스트 케이스에서 예제를 보았지만 애플 리케이션에서이를 재현하려고 할 때 정의되지 않은 메소드를 얻는다.레일에서 Arel # 추출 방법은 어떻게 사용됩니까?
table = Arel::Table.new :users
puts table[:created_at].extract('hour').to_sql
=> NoMethodError: undefined method `extract' for #<Arel::Attributes::Attribute:0x7..8>
데이터베이스로 pg를 사용하고 있습니다.
업데이트 : 내 목표는 SQL에서이 결과로 끝날 것입니다
:
SELECT users.* FROM users WHERE EXTRACT(HOUR from users."created_at") = '1'
내가 어떤 일 중 하나에 동일한 시간에 생성 된 모든 사용자를 찾을 싶습니다 . 이것은 SQL에서 작동하지만 arel에서 만드는 방법을 궁금합니다. 여기에 arel 테스트 스위트에서 사용되는 방법은 example입니다.
문서에서 Arel :: Table 클래스의 일부로'# extract'가 표시되지 않습니다. 너 뭐하려고? 테이블에서''date ''를 검색 하시겠습니까? – ScottJShea
귀하의 질문에 대한 답변을 업데이트했습니다. –
ActiveRecord 쿼리가 더 잘 작동할까요? 'Users.where ("Minute (?) = 1", : created_at) .all'? – ScottJShea