小编ven*_*laf的帖子

Doctrine fetch join

首先,我将给出一些伪代码示例,然后我将解释问题是什么.让我说我有两个实体User和Phonenumber.他们的关系是一对多的.在我的UserRepository中我可以有类似的东西:

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];
    }
}
Run Code Online (Sandbox Code Playgroud)

在我的应用程序,如果我有类似的东西:

$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.
Run Code Online (Sandbox Code Playgroud)

所以我的问题是:是否可以使用获取连接(具有不同的标准)并且每次都能获得正确的集合?

php doctrine doctrine-orm

5
推荐指数
1
解决办法
1568
查看次数

标签 统计

doctrine ×1

doctrine-orm ×1

php ×1