部分选择原则查询构建器

时间:2015-11-25 09:08:56

标签: symfony doctrine-orm

我正在尝试自定义选择使用此代码

$result = $qb->select('partial user.{id,name}')
                 ->from('User', 'user')
                 ->leftJoin('user.group', 'group')
                 ->getQuery()
                 ->getResult(); 
  

以下代码的结果

{
    "id": 10,
    "name": "admin",
    "description": null,
    "create_date": null,
    "modified_date": null,
}

为什么返回的字段没有选择空值?!

1 个答案:

答案 0 :(得分:2)

使用DQL" partial"关键字不足以获得部分实体。

也必须使用DQL提示HINT_FORCE_PARTIAL_LOAD。

$query = $qb->select('partial user.{id,name}')
             ->from('User', 'user')
             ->leftJoin('user.group', 'group')
             ->getQuery()
;

$query->setHint(Doctrine\ORM\Query::HINT_FORCE_PARTIAL_LOAD, 1);

$results = $query->getResult();