/** * Add sub filter. * * @param string $conjunction AND or OR. * @param Filter $filter The sub filter. * * @return static */ private function sub($conjunction, Filter $filter) { if (!empty($this->expression)) { $this->expression[] = $conjunction; } $expression = $filter->getExpression(); $variables = $filter->getVariables(); $index = count($this->variables); $expression = str_replace('variables', 'variables[' . $index . ']', $expression); $this->expression[] = '(' . $expression . ')'; $this->variables[] = $variables; return $this; }