0
只有最後一個對象。在Sumfony 3.3中,我創建了實體頁面和語言之間的關係,其中頁面與多種語言相關,當我搜索頁面並獲取頁面對象時,但語言屬性只返回最後一個語言對象的集合。無論收藏中有多少物品,它總是最後返回。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:
public function getPageByName($name)
{
return $this->pageRepository->findBy(array("name"=>$name));
}
由於默認屬性$語言上的懶惰,JMS串行設置當序列化頁面對象時,它正在提取語言集合
有沒有人有這個問題?
你能後,你做代碼'$頁面級> getLanguages ()'和''函數getLanguages()'的代碼? – goto
是的,我已經更新的問題,JMS串行器獲取語言 –
好後的代碼中的相關部分^^如果我們不知道你是怎麼得到你的對象,我們也沒有辦法。我們不是魔術師(尚未) – goto