3
기존 모델 레코드를 복제하려면 어떻게합니까? 다시 말해, 관련 데이터가있는 기존 모델을 검색 한 다음 해당 모델 및 데이터의 복사본을 저장하는 방법 (모델 및 관련 데이터 모두 복사)? 이것은 단순한 SQL을 사용하는 것이 쉽지만 CakePHP 베스트 프랙티스를 사용하여 수행하려고합니다.CakePHP newbie 질문 : 모델 및 관련 데이터를 복제하려면 어떻게합니까?
기존 모델 레코드를 복제하려면 어떻게합니까? 다시 말해, 관련 데이터가있는 기존 모델을 검색 한 다음 해당 모델 및 데이터의 복사본을 저장하는 방법 (모델 및 관련 데이터 모두 복사)? 이것은 단순한 SQL을 사용하는 것이 쉽지만 CakePHP 베스트 프랙티스를 사용하여 수행하려고합니다.CakePHP newbie 질문 : 모델 및 관련 데이터를 복제하려면 어떻게합니까?
$record = $this->Model->find('first', array('condition' => array('Model.id' => $id)));
unset($record['Model']['id'], $record['RelatedModel']['id'], /* further ids */);
$this->Model->create();
$this->Model->saveAll($record);
기본적으로, 당신은 단지 평소와 같이 저장, 더 id
필드가 데이터에 포함되지가 있는지 확인하는 것이 좋습니다. 그러면 Cake는 새로운 레코드를 만들 수 있습니다.
특정 데이터에 따라 $Model->query()
을 직접 사용하여 INSERT … SELECT …
검색어를 직접 작성하는 것이 경제적 일 수 있습니다.
많은 분들께 감사드립니다. 직접 쿼리를 사용하는 것이 가장 경제적 일 것이지만 "CakePHP 방식"으로 시도하고 싶습니다. - 스티브 – Steve