部分选择学说查询生成器

Sep*_*deh 1 symfony doctrine-orm

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

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

下面这段代码的结果

{
    "id": 10,
    "name": "admin",
    "description": null,
    "create_date": null,
    "modified_date": null,
}
Run Code Online (Sandbox Code Playgroud)

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

sco*_*ico 5

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

  • 关于为什么单独使用“部分”还不够的任何见解? (5认同)