컨트롤러에서 테이블의 단일 레코드를 전달하지만보기가 전체 테이블을 표시하는 이상한 문제가 발생했습니다.CakePHP :보기가 컨트롤러와 동기화되지 않았습니다.
필자는 광범위한 로깅을 가지고 있으며 Controller가 $ this-> set()을 통해 단일 레코드를 전달하고 있음을 확신합니다.
컨트롤러 (ContactsController : show_list) 로그에
$arr_contacts = $this->Contact->find(
'all',
array(
'conditions' => array(
'Contact.state_id' => $i_state_id,
'Contact.city'=> $str_city
),
'fields' => array(
'Contact.id',
'Contact.name',
'Contact.city'
),
'recursive' => -1
)
);
$contacts = $arr_contacts;
$this->log ($contacts, 'debug');
$this->set('contacts', $this->paginate());
$this->log(__FUNCTION__." : ".__LINE__, 'debug');
출력 : 보기 파일에서
Debug: Array
(
[0] => Array
(
[Contact] => Array
(
[id] => 504
[name] => Michael
[city] => New York
)
)
)
Debug: show_list : 303
(show_list.ctp), 내가
<div class="contacts index">
<?php echo print_r($contacts);?>
이
뷰 파일, 테이블의 모든 레코드의 목록을 인쇄합니다. cakephp가 표시하는 SQL 덤프는 추가 SQL 호출이 수행되고 있음을 보여줍니다. 그러나 이러한 호출이 어디에서 왔는지는 분명하지 않습니다.
나머지 컨트롤러와 동작은 손상된 문제를 배제하고 올바르게 작동하는 것 같습니다.
이전에 비슷한 상황이 발생 했나요? 어떤 포인터?
내가 PAGINATE 필요 : 당신이 페이지를 매기는 필요한 경우
이 (???), 다음과 같은 당신에게 전체 기능을 설정해야 기록. 나는 $ this-> paginate를 사용하여 첫 번째 단계를 지나쳤다. 그러나 검색 결과의 두 번째 페이지 +는 유효한 데이터를 표시하지 않으며 정의되지 않은 변수, foreach() 등의 잘못된 인수와 관련된 오류/메시지를 표시합니다 ... 페이지 2, 3에 대한 쿼리 매개 변수를 사용할 수없는 것으로 보입니다 .... ** 쿼리 매개 변수를 후속 페이지로 보내려면 어떻게해야합니까? ** –