질문은 아마도 이상하게 들릴지도 모릅니다. 문제는 다음과 같습니다. 모델이 FollowingStationLine
이고 해당 테이블이 following_station_lines
입니다. 모델에서 $this->save(array('field' => 'value));
으로 레코드를 저장하려고합니다. 해당 페이지에 도달했을 때 메서드는 무한 루프를 호출하는 것 같습니다 (저장 문 전후에 debug()
을 넣었습니다) 메모리 제한에 도달했을 때만 종료됩니다. 2GB의 메모리로도 시도했지만 여전히 동일한 문제가 있습니다.레코드를 저장할 때 CakePHP 2.1이 무한 루프에 들어갑니다.
FollowingStationLinesController
이외의 다른 컨트롤러에서 메서드를 호출 할 때도 마찬가지입니다. 다른 모든 모델/표는이 옆에 예상대로 작동합니다. 나는 정말로 그 문제가 무엇인지 상상할 수 없다. 여기 코드는 각각 컨트롤러의 모델은 다음과 같습니다
컨트롤러 :
App::uses('AppController', 'Controller');
class FollowingStationLinesController extends AppController {
public function admin_set() {
$this->FollowingStationLine->set(array(1));
}
}
모델 :
이App::uses('AppModel', 'Model');
class FollowingStationLine extends AppModel {
public function set($lineIds = array()){
if(!is_array($lineIds)){
return false;
}
$save = array();
$save[] = array('station_id' => 45);
debug($save[0]);
$this->save($save[0]);
}
}
이 어떤 도움이 높게 평가 될 것입니다!
오 ...이에 며칠 갇혀 매우 실망 ...이 귀중한 힌트를 주셔서 감사합니다. 내가 케익의 방법을 무시하고 있다는 것을 몰랐다. – linkyndy
@linkyndy 의심 스러울 때, 출처로 가십시오! :) – Farray
알고 있지만 메서드를 재정의 할 가능성이 없습니다. 학습 한 내용 :) – linkyndy