Locker\Repository\Statement\EloquentIndexer::matchActivity PHP Method

matchActivity() private method

Constructs a Mongo match using the given activity and options.
private matchActivity ( String $activity, Jenssegers\Mongodb\Eloquent\Builder $builder, IndexOptions $opts ) : Jenssegers\Mongodb\Eloquent\Builder
$activity String Activity to be matched.
$builder Jenssegers\Mongodb\Eloquent\Builder
$opts IndexOptions Index options.
return Jenssegers\Mongodb\Eloquent\Builder
    private function matchActivity($activity, Builder $builder, IndexOptions $opts)
    {
        return $builder->where(function ($query) use($activity, $builder, $opts) {
            $keys = ['object.id'];
            if ($opts->getOpt('related_activities') === true) {
                $keys = array_merge($keys, ['context.contextActivities.parent.id', 'context.contextActivities.grouping.id', 'context.contextActivities.category.id', 'context.contextActivities.other.id']);
            }
            $query = $this->addWheres($builder, $keys, $activity);
        });
    }