我有以下查询,我希望第一个结果被水合。这是我尝试过的:
$builder = $dm->createAggregationBuilder(\Documents\Jobs::class);
$builder
->facet()
->field('carpenterJobs')
->pipeline(
$dm->createAggregationBuilder(\Documents\Jobs::class)
->hydrate($this->getEntityName(\Documents\Jobs::class))
->match()
->field('name')
->equals('carpenter');
)
->field('cleanerJobs')
->pipeline(
$dm->createAggregationBuilder(\Documents\Jobs::class)
->match()
->field('name')
->equals('cleaner');
)
;
但是当我执行此操作时,结果并没有水合。以下是Jobs实体:
/**
* @QueryResultDocument
* @Document(repositoryClass="...")
*/
class Jobs
{
/**
* @Id
*/
private $id;
/**
* @Field(type="string")
* @Index(unique=true, order="asc")
*/
private $name;
...
}
我也尝试对$builder
进行水合处理,但返回错误消息Undefined index: _id
。自己执行“ carpenterJobs”查询,而不用在水龙头里,我可以返回水合结果。