루비

0

에 SQL 쿼리에서 결과를 가져 오는 동안 페이지를 매기는 사용 I가 내 레일 컨트롤러에서 다음 쿼리 :루비

SELECT CODE_VER FROM MASTERTEST WHERE DATE>= DATE_SUB(CURDATE(), INTERVAL 90 DAY) ORDER BY DATE DESC; 

이 쿼리는 나에게 지난 90 일의 결과를 반환합니다. 나는이 모든 결과를 지금 테이블에 표시합니다.

일종의 페이지 매김에서 한 번에 7 일 동안의 행만 표시하려고합니다. 나는 will_paginate와 kaminari와 paginate_by_sql을 시도했다. 그러나 나는 지금까지 그들 중 하나를 사용하여 성공하지 못했습니다.

누군가 내 검색어에 대한 정확한 구문을 표시 할 수 있습니까?

+0

를 사용하여보기에서

@result=SELECT CODE_VER FROM MASTERTEST WHERE DATE>= DATE_SUB(CURDATE(), INTERVAL 90 DAY) ORDER BY DATE DESC; @result.page(params[:page]).per(10) 

컨트롤러에서

을 @Result 말? MySQL, PostgreSQL, Oracle, SQLite? 'limit' 및'offset' 매개 변수를 사용하여'select'를 사용하여 플러그인없이 원하는 것을 할 수 있습니다. 일부 DBM은 'offset'을 지원하지 않지만 'limit'의 시작/끝 범위를 갖습니다. –

+0

@theTinMan : MySQL을 사용하고 있습니다 –

+0

MySQL의'limit'은 두 개의 매개 변수'SELECT * FROM tbl LIMIT 5,10; # 행 6-15 검색'. –

답변

-1

저장 변수에 결과는 당신이 사용하는 어떤 DBM

<% paginate %> # to render the value page by page