2011-08-27 3 views
0

제품을 사용하는 방정식을 사용하여 검색 결과를 주문 하려는데 사용자가 입력을했습니다. 즉, Products와 current_user의 데이터를 사용하는 수식이 있습니다. 방정식에서 얻은 수로 검색 결과를 주문할 수 있기를 원합니다. 나는 이걸로 시작한다고해도 꽤 길을 잃어 버렸다. 누구나 비슷한 것을했거나 정렬/순서를 가장 잘 처리 할 수있는 아이디어가 있습니까? 내 이해에서 "순서"는 SQL 데이터베이스의 실제 열을 정렬하는 데 사용되며 대개는 메서드를 정렬하는 데 사용되지 않습니다.current_user를 사용하여 검색 결과를 주문할 수 있습니다.

저는 원래 current_user를 모델에 전달해야한다고 생각했습니다. 그게 최선의 방법은 아니지만 Sunspot에서는 모델에 사용자 정의 필드를 만든 다음 해당 필드를 정렬 할 수 있습니다. 불행하게도, 이것은 흑점이 검색하고 정렬하는 필드를 색인화해야하기 때문에 작동하지 않습니다.

저는 현재 Sunspot을 사용하고 있으며, 수정이 필요한 경우에도 계속 사용하고 싶습니다. 또한 페이지 매김을 사용하고 있습니다.

답변

0

SQL에서 복잡한 방정식을 계산할 수 없습니다. 당신은 간단한 계산으로 제한됩니다.

가능한 해결책 :

  • 당신이 얼마나 많은 결과에 따라 그냥 는 루비 정렬 방법을 사용 할 수 있습니다.
  • 는 식의 결과를 계산하고 "일치"과 연관 될 수있는 새로운 열 또는 테이블

귀하의 문제에 저장합니다.

+1

그리고 SQL에서 '단순'또는 '복잡한'방정식은 무엇입니까? 나는 언어 참조에서 그러한 구별을 보지 못했다. – Mchl

+0

데이터베이스 서버에서 사용할 수있는 함수와 테이블 열에 저장된 값을 사용하여 방정식을 표현할 수 있습니까? 그렇지 않은 경우 응용 프로그램에서 수행하거나 캐시 된 수식 결과로 정렬 할 수 있도록 데이터베이스에 일종의 인덱스를 유지해야합니다. –

관련 문제