나는 상황이 있고 내가 잘못하고있는 것이 확실하지 않습니다. Sumfony에서 3.3 엔티티 페이지와 언어 사이의 관계를 만들었습니다. 여기서 페이지는 여러 언어와 관련이 있습니다. 그리고 페이지를 검색하고 페이지 개체를 가져 오지만 속성 Languages는 마지막 언어 개체 만 사용하여 컬렉션을 반환합니다. 컬렉션에 얼마나 많은 객체가 있더라도 항상 마지막으로 반환됩니다.symfony @oneToMany 관계는 콜렉션의 마지막 객체만을 반환합니다.
페이지 엔티티 :
/**
* @ORM\OneToMany(targetEntity="Language", mappedBy="page", cascade={"ALL"}, indexBy="page_id")
*/
private $languages;
언어 엔티티 :
/**
* @ORM\ManyToOne(targetEntity="Page", inversedBy="languages")
*/
private $page;
public function addLanguage(\AppBundle\Entity\Langaugee $language)
{
$this->languages[] = $language;
return $this;
}
public function removeLanguage(\AppBundle\Entity\Language $language)
{
$this->$languages->removeElement($language);
}
public function getLanguages()
{
return $this->languages;
}
Page 개체가 PageService에서 가져 오는됩니다 : 게으른, JMS 시리얼 설정 기본적으로 속성 $ 언어부터
public function getPageByName($name)
{
return $this->pageRepository->findBy(array("name"=>$name));
}
페이지 객체를 직렬화 할 때 언어 컬렉션을 가져 오는 중
누구에게이 문제가 있었습니까?
'$ page-> getLanguages()'함수와'function getLanguages ()'의 코드는 무엇입니까? – goto
예 질문을 업데이트했습니다. JMS 시리얼 라이저가 언어를 가져 오는 중입니다. –
코드의 관련 부분을 게시하십시오. ^^ 우리가 어떻게 객체를 얻지 못하면 우리는 도울 수 없습니다. 우리는 마술사가 아닙니다 (아직) – goto