Doctrine MongoDB — гидратируйте результаты внутри фасета с помощью Doctrine MongoDB Aggregation Builder

У меня есть следующий запрос, и я хочу, чтобы первый результат был гидратирован. Вот что я попробовал:

$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');
)
;

Но когда я выполняю это, результаты не увлажняются. Ниже приведена сущность Джобс:

/**
* @QueryResultDocument
* @Document(repositoryClass="...")
*/
class Jobs
{
/**
* @Id
*/
private $id;

/**
* @Field(type="string")
* @Index(unique=true, order="asc")
*/
private $name;

...
}

Я также пытался увлажнить $builder но он возвращает ошибку, говорящую Undefined index: _id, Выполнив запрос ‘carpenterJobs’ сам, не находясь внутри крана, я могу вернуть гидратированные результаты.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]