मेरे पास मेरी परियोजना में दो इकाइयां हैं: उपयोगकर्ता और अवतार।आलसी लोडिंग से बचें सिद्धांत सिम्फनी 2
उपयोगकर्ता एक वनटोन संबंध के साथ अवतार का मालिक है।
अवतार फ़ाइल ऑब्जेक्ट और फ़ाइल नाम के साथ एक इकाई है। यह फ़ाइल को सहेजने के लिए @ORM \ HasLifecycleCallbacks का उपयोग करता है या इसे Symfony2 documentation में वर्णित अनुसार निकालने के लिए उपयोग करता है।
मेरी नियंत्रक में, मैं वर्तमान उपयोगकर्ता (मैं का उपयोग $currentUser = $this->get('security.context')->getToken()->getUser()
) से अवतार इकाई निकालना चाहते हैं, लेकिन मैं $currentUser->getAvatar()
साथ अवतार नहीं मिल सकता है:
var_dump($currentUser->getAvatar());exit;
आउटपुट:
object(Proxies\__CG__\Participso\UserBundle\Entity\Avatar)[355]
public '__initializer__' =>
object(Closure)[348]
public '__cloner__' =>
object(Closure)[349]
public '__isInitialized__' => boolean false
private 'id' (Participso\UserBundle\Entity\Avatar) => int 20
public 'file' => null
private 'fileName' (Participso\UserBundle\Entity\Avatar) => null
लेकिन अगर मैं करता हूँ
$whatever = $currentUser->getAvatar()->getFileName();
var_dump($currentUser->getAvatar());exit;
आउटपुट:
object(Proxies\__CG__\Participso\UserBundle\Entity\Avatar)[355]
public '__initializer__' =>
object(Closure)[348]
public '__cloner__' =>
object(Closure)[349]
public '__isInitialized__' => boolean false
private 'id' (Participso\UserBundle\Entity\Avatar) => int 20
public 'file' => null
private 'fileName' (Participso\UserBundle\Entity\Avatar) => string 'd4e5eadd3757498a22b14ad1f81869c2baf459d3.png'
यह बहुत परेशान है ... क्या किसी के पास इससे बचने के लिए कोई सुराग है?
धन्यवाद तो मैच, मैं अब घंटों की खोज कर रहा हूं! (यह "ईगर" है, "उत्सुक" एक exeption फेंक) – Leogout
धन्यवाद, अद्यतन। – Anonymous
किसी क्वेरी के दौरान फ़ेच मोड को बदलना केवल एक-से-एक और कई-से-एक संबंधों के लिए संभव है। –