2010-07-05 3 views
0

mysql의 데이터를 가져 오는 요소가 있습니다.CakePhp에서 sql 'between'명령어를 사용하는 방법 requestAction()

내가 ID 1과 6 사이에서만 게시물을 잡고 싶어
$this->requestAction('posts/index/sort:id/direction:desc'); 

가 어떻게 requestAction을 통해 해당 쿼리를 실행할 수 있습니다 : 여기 내 작업 코드는? 제가 시도한 스크립트 중 일부는 다음과 같습니다. 없음이 작동하지 않습니다 : 당신은 http://bake.yemeklog.com/에서 내 프로젝트를 볼 수 있습니다

$this->requestAction('posts/index/sort:id/between:1,6/direction:desc'); 

$this->requestAction('posts/index/sort:id/direction:desc', array('id between ? and ?' => array('1,6'))); 

또는

를 호출 할 내가가는 경우 내가 세 번째 열이 코드 (최근 30 일 인기 항목)

답변

0

을 원하는 그것은 requestAction (!)을 통해 다음 내 컨트롤러에 사용자 지정 메서드를 작성한 다음 두 ID를 해당 메서드에 매개 변수로 전달할 것입니다.

그런 다음 매개 변수를 처리하고 쿼리를 공식화 할 수 있습니다.

$this->Model->find('all', 'conditions' => array('id'=>array(1,2,3,4,5,6))); 

어떤 수단으로도 이상적이지는 않지만 나는 이런 종류의 문제에 어떻게 다가 갈지 잘 모르겠습니다.

그 다음 정적 아이디의 아마

$this->Model->find('all', null, null, 'order' => 'id ASC LIMIT 0,6'); 

** 지금 내가 그것을 시도하지 않은 같은 문제가 해결한다면 모르겠지만, 나는 종종 약간의 성공과 함께 케이크에 이런 작은 일들을 해킹의 경우 . 그래서 아마 그래서 당신은 OhLo

에서 쿼리, 또는 잡아 DebugKit을 볼 수 있습니다 debug = 2을 설정해야합니다, 한번 시도해

PS, 당신은 $this->params['requested'] 사실인지 확인하기 위해, requestAction 방법을 쓰는 경우 그나마 잊지, 그래서 당신이 올 알고 requestAction에서

+0

안녕 데이빗, 답장을 보내 주셔서 감사합니다. 나는 그것이 나를 위해 적합 할 것인지 모른다. 레이아웃에 세 개의 열이 있기 때문입니다. 모든 열은 서로 다른 SQL 쿼리 결과를가집니다. 현재 스크립트는 OK가 SQL을 기대합니다. 여기 내 프로젝트입니다. 제가 말하는 것에 대해 도움이 될 것입니다. http://bake.yemeklog.com/ – Kemal

+0

그 경우 각 특정 열에 대해 요소를 사용하여 각각에 대해 찾은 다음 요소로 해당 데이터를 매개 변수로 전달하십시오. –

+0

아, 그러면 시도 할 것입니다. 하지만 나는 정말 익숙하지 않은 구조를 바꾸고 싶지 않기 때문에 케이크에 새로운 것이 있습니다. – Kemal

관련 문제