2012-08-01 5 views
0

정수 배열 인 :machine_ids 배열 항목이있는 TestRun 모델이 있습니다. 어떻게하면 필드가 :machine_ids이고 특정 배열 엔트리가 mid이고 :status이 "실행 중"인 특정 TestRun 항목을 찾을 수 있도록 조건부로 찾기를 호출 할 수 있습니까?Ruby-On-Rails : 특정 배열 값을 가진 DB 항목 찾기

이것은 내가 원하는 것의 대략적인 개요입니다. 배열에 mid이 포함되어 있는지 찾는 조건을 지정하는 방법을 모르겠습니다.

cur_testrun = TestRun.find(:first, :conditions => {:machine_ids => mid, :status => "Running"}) 

답변

0

배열은 데이터베이스에 저장하기 위해 YAML로 직렬화됩니다. 직렬화 된 데이터는 쉽고 효율적인 쿼리를 제공하지 않습니다.

아래의 대답 & 답변에서 제안 된대로 스키마를 조금 표준화 해보십시오. 또는 매칭이 복잡해지면 글을 쓰는 재미가없는 'like'SQL 쿼리를 남겨 둡니다.

Rails active record query, serialized array

관련 문제