_registry = $registry; $this->_values = array_filter( array_map( array( $this->_registry->get( 'primitive.int' ), 'positive' ), $filter_values ) ); } /** * These simple filters does not require new joins. * * @return string Empty string is returned. */ public function get_join() { return ''; } /** * Get condition part of query for single field. * * @param string $inner_operator Inner logics to use. It is ignored. * * @return string Conditional snippet for query. */ public function get_where( $inner_operator = null ) { if ( empty( $this->_values ) ) { return ''; } return $this->get_field() . ' IN ( ' . join( ',', $this->_values ) . ' )'; } /** * Require ancestors to override this to build correct conditional snippet. * * @return string Column alias to use in condition. */ abstract public function get_field(); }