CakePHP 응용 프로그램과 함께 매우 고유 한 데이터베이스를 사용하고 있으며 지금까지의 다중 모델보기 및 컨트롤러가 정상적으로 작동합니다. 나는 그것이 외래 키 entity_id
save() 대 saveAll()을 사용하는 CakePHP hasAndBelogsToMany
일부 테이블 등 여러 가지 다른 테이블에 id
의이 단수 테이블 (Entity
)가있는 하나의 관계를 하나의 (a Company
한 Entity
처럼) 일부는 수 많은 한 (Entity
입니다 여러 Addresses
) 등등.
데이터베이스 모델을 변경할 수 없으며 변경할 수 없으므로이 구조입니다.
Entity.type='x' (hidden inside the view)
Company.name
Address.0.street
Address.0.city
Address.1.street
Address.1.city
... and so on ...
내 모든 모든 하드 작업, BEGIN TRANSACTION
, 모든 INSERT
들과 최종 COMMIT
을하고 저장 ... :
saveAll()
을 사용하고
그러나 지금은 n 관계 인 EntityCategory
을 작성했으며 모델 내에 전체 HABTM
관계를 작성했습니다. 난 그냥 HABTM
관계를 save()
하지만 때
그것은 작동하고, 나는 saveAll()
(이전처럼)을 HABTM
관계를 제외하고 사용하면이 모든게을 절약 할 수 있습니다.
내가 누락 된 항목이 있습니까? 어떻게하면 제대로 작동합니까? 오늘 다음 코드를 사용하고 다음 saveAll()
는 여러 테이블의 모든 데이터를 저장
if (!empty($this->data)) {
$this->Entity->saveAll($this->data);
$this->Entity->save($this->data);
}
가 save()
가 HABTM
관계를 저장 Entity->id
에 ID를 저장하고 있지만,이 할 수있는 경우가 올바른 경우, 또는 잘 모르겠습니다 일부 구조/모델을 변경하면 문제가 생깁니다.
사용하는 가장 좋은 방법인가요? 올바른 CakePHP 내부 관계를 저장하는 방법 있습니까? 당신의 경험/지식이 나에게 말할 수있는 것은 무엇입니까?