İlk önce bazı sözde kodlarla bir örnek vereceğim ve sonra sorunun ne olduğunu açıklayacağım. İki varlığımın Kullanıcı ve Telefon Numarası olduğunu söyleyeyim. İlişkileri bire çoktur. Ben böyle bir şey varsa benim appDoctrine Getir
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];
}
}
: Yani
$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.
sorularım geçerli: Benim UserRepository ben böyle bir şey olabilir o (farklı kriterlere göre) katılmak getirme kullanmak mümkün mü ve her seferinde doğru koleksiyonu almak için?
Şu an için bazı performans etkilerine sahip olacağımı düşündüğüm Query :: HINT_REFRESH kullanarak bitirdim, ama kesinlikle çözümünüzü kontrol edeceğim. Zaman ayırdığın için teşekkürler. – ventsislaf