private function filter($operator, Select $select, $conditionSetName, $value) { $quotedAlias = $select->quoteWithAlias($this->relationship->getSourceTable()->getTableName(), $this->relationship->getSourceColumnName()); switch ($operator) { case self::OP_NOT_EMPTY: case self::OP_CONTAINS: $operator = 'IN'; break; case self::OP_NOT_CONTAINS: case self::OP_EMPTY: $operator = 'NOT IN'; break; } return $select->whereConditionSet($conditionSetName, "{$quotedAlias} {$operator} (?)", new Expr($this->relationship->getFilterSubquery($value))); }