सबसे पहले मैं कुछ छद्म कोड के साथ एक उदाहरण दूंगा और फिर मैं समझाऊंगा कि समस्या क्या है। मुझे कहना है कि मेरे पास दो इकाइयां उपयोगकर्ता और फोनेनंबर हैं। उनका रिश्ता एक से कई है। अगर मैं की तरह कुछ हैसिद्धांत लाने में
class UserRepository
{
public function getUser($id, $type)
{
$users = $this->createQuery("SELECT u, p FROM User u JOIN u.phonenumbers p
WHERE u.id = :id AND p.type = :type")
->setParameters(array(
'id' => $id,
'type' => $type,
))
->getResult();
return $users[0];
}
}
मेरे ऐप में:
$user = $userRepo->getUser(1, 'home');
var_dump($user->getPhonenumbers()); // here phonenumbers collection is ok
$user = $userRepo->getUser(1, 'work');
var_dump($user->getPhonenumbers()); // Here phonenumbers collection is wrong.
// It's exactly the same as the previous one.
तो मेरे सवालों का है: मेरे UserRepository में मैं ऐसा ही कुछ हो सकता है यह संभव लाने का उपयोग करने में शामिल होने के (विभिन्न मानदंडों के साथ) है और हर बार उचित संग्रह प्राप्त करने के लिए?
इस पल के लिए मैं क्वेरी :: HINT_REFRESH का उपयोग कर समाप्त करता हूं, जिसका मेरा मानना है कि कुछ प्रदर्शन प्रभाव होगा, लेकिन निश्चित रूप से मैं आपका समाधान जांचूंगा। आपके समय के लिए धन्यवाद। – ventsislaf