Tehát van ez a funkcióm:
MyProject\Bundle\Entity\Audio;
/**
*
* @return string
*/
public function getStudioName()
{
return $this->getStudio()->getNom();
}
amelynek a nom
attribútumot kellene lekérnie a Studio objektumból.
Ezeket így határozzák meg:
/**
* @var \MyProject\Bundle\Entity\Device
*/
private $studio;
...
/**
* Get studio
*
* @return \MyProject\Bundle\Entity\Device
*/
public function getStudio()
{
return $this->studio;
}
És a ->getNom
is csak egy alap hozam, ami jól működik.
Tehát a következő hibaüzenetet kapom:
Hiba: A getNom() tagfüggvény hívása nem objektumon
Olvastam a lusta betöltésről, és megértem, hogy a $this->getStudio()
miért ad proxyt a tényleges Device objektum helyett, de nem tudok továbbmenni és ezután a getNom()
-ot használni... Próbáltam hozzáadni a fetch : EAGER
-et, hogy elkerüljem a lusta betöltést, de még mindig nem működik.
Bármilyen ötletet ?
if ($this->studio instanceof MyProject\Bundle\Entity\Audio)
24.10.2015$studio
csakNULL
vagyAudio
lehet. Az értéket egy másik helyen, például konstruktorban vagy beállítóban kell ellenőrizni típusjellel. 24.10.2015