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

matchAgentProp() private method

Constructs a builder using the given agent property and value, plus options.
private matchAgentProp ( String $prop, Mixed $value, Jenssegers\Mongodb\Eloquent\Builder $builder, IndexOptions $opts ) : Jenssegers\Mongodb\Eloquent\Builder
$prop String
$value Mixed
$builder Jenssegers\Mongodb\Eloquent\Builder
$opts IndexOptions Index options.
return Jenssegers\Mongodb\Eloquent\Builder
    private function matchAgentProp($prop, $value, Builder $builder, IndexOptions $opts)
    {
        return $builder->where(function ($query) use($prop, $value, $builder, $opts) {
            $keys = ["actor.{$prop}", "actor.members.{$prop}", "object.{$prop}"];
            if ($opts->getOpt('related_agents') === true) {
                $keys = array_merge($keys, ["authority.{$prop}", "context.instructor.{$prop}", "context.team.{$prop}"]);
            }
            $query = $this->addWheres($builder, $keys, $value);
        });
    }