는 그래서 난, 각 학교는 여러 종의 일정을 가지고 있으며, 각각의 일정 세부 사항이있는 학교가 있습니다doctrine2의 ODM는 복제의 중첩 된 객체를 저장하지 않는
school (document)
-- bell schedule (embedded document)
---- bell schedule details (embedded document)
내가 학교 개체를 복제하고 학교에서 print_r 때 , 그것은 복제물에 적절한 객체와 함께 돌아옵니다. 그러나 학교를 계속 지키려고하면 세부 정보를 제대로 저장하지 못합니다. 이것이 제대로 작동하려면 내가해야 할 일이 있습니까? 내가 설정할 필요가있는 깃발이 있나?
은 무엇을하려고 메신저입니다 :
$school2 = clone $school1;
$dm->persist($school2);
$dm->flush();
---- classes ----
/**
* @MongoDB\Document(collection="schools")
*/
class School
{
/**
* @MongoDB\EmbedMany
*/
protected $bell_schedules = array();
public function addBellSchedules(BellSchedule $bellSchedules)
{
$this->bell_schedules[] = $bellSchedules;
}
public function getBellSchedules()
{
return $this->bell_schedules;
}
public function setBellSchedules(\Doctrine\Common\Collections\ArrayCollection $bell_schedules)
{
$this->bell_schedules = $bell_schedules;
return $this;
}
}
/**
* @MongoDB\EmbeddedDocument
*/
class BellSchedule
{
/**
* @MongoDB\EmbedMany
*/
private $bell_schedule_details
public function getBellScheduleDetails()
{
return $this->bell_schedule_details;
}
public function setBellScheduleDetails(\Doctrine\Common\Collections\ArrayCollection $bell_schedule_details)
{
$this->bell_schedule_details = $bell_schedule_details;
return $this;
}
}
/**
* @MongoDB\EmbeddedDocument
*/
class BellScheduleDetail
{
private $period;
private $label;
}
클래스 매핑 (예 : 특수 효과, XML, YML)을 공유 할 수 있습니까? 또한 관리 객체를 덤프 할 필요가 있다면'Doctrine \ Common \ Util \ Debug :: dump()'함수가 유용 할 것입니다. 보통'var_dump()'를 쉽게 쌓을 수있는 내부 Doctrine 서비스에 대한 참조를 무시하기 때문입니다. 와'print_r()'이 출력됩니다. – jmikola