2013-01-05 2 views
0

복제해야하는 모델 카테고리가 있습니다. 나는 그것이 존재하는 것을 복사하고, 그것의 id 속성을 설정 해제하고 그것을 저장하는 것으로 그것을 할 수 있다는 것을 안다. 하지만 모델에 일부 hasMany 연관성이있는 경우에는이를 수행하는 것이 좋지 않은 것 같습니다. 그런 다음 모델을 통해 이러한 작업을 수행하고 저장 한 다음 모든 연결과 동일한 작업을 수행하고 저장해야합니다.CakePHP에서 모델을 복제하는 방법

모델에서 메서드를 정의한 다음 호출해야합니까?

개체와 같은 모델을 얻을 수 있고 배열과 다를 수 있습니까? 코드의 예에서

$category = $this->Category->find("first", array(
    'conditions' => array('categoryID' => $categoryID), 
    'contain' => array('Connected') 
)); 

$newCat = clone $category; 

$this->Category->save($newCat); 
+2

를 전달할 수 있습니다 이것에 관한 어떤 것이 옳다고 생각하지 않습니다. 왜 복제하는거야? DB에서 방금 가져온 카테고리를 저장하려고합니까? –

답변

3

:

이는이 같은 뭔가를 작동하게 할 수있는 방법입니다. 당신은 $category 변수가 실제로 배열 일 때 객체라고 가정하는 것처럼 보입니다. 따라서 복제에 대한 의문은 없습니다. 케이크 모델은 활성 레코드 인스턴스와 다릅니다. 단지 배열을 소비하고 생산합니다.

정성 들여 .. 당신이 $category 배열 및 해제 기본 키 필드 (보통 ID)의 모든 레코드를 통해 루프 것이다 필요 달성하기 위해 다음이 범주 -하는 해당 배열> 시려면()

관련 문제