我仍在为学说 QueryBuilder 苦苦挣扎,因为当我想将另一个元素添加到选择表达式中时,我认为它无法正常工作。
在这两种情况下,学说 $queryBuilder->getQuery()->getResults() 返回一个数组,其中实体表示为字符串而不是对象:
情况1:
$queryBuilder = $this->em->createQueryBuilder();
$queryBuilder->select("e, 99 as number");
它返回
array(4) {
[0]=>
array(2) {
[0]=> string(30) "Profile_Entity" //notice this is a string but it should be an object instance
["number"]=> string(2) "99"
}
...
...
如果我会写
$queryBuilder = $this->em->createQueryBuilder();
$queryBuilder->select("e");
$queryBuilder->select("99 as number");
它将返回与情况 1 相同的内容
下面是它通常应该的样子(这里只是选择表达式中的一个元素)
array(4) {
[0]=> object(stdClass)#935 (39) {
["__CLASS__"]=> string(30) "Profile_Entity"
["id"]=> int(46)
["headline"]=> string(7) "asdasd
...
...
...