/** * @param int|array $bits * @param bool $contain * @return array SQL snippet. */ protected function _containsBit($bits, $contain = true) { $bits = (array) $bits; $bitmask = $this->encodeBitmask($bits); $field = $this->_config['field']; $contain = $contain ? ' & ? = ?' : ' & ? != ?'; $contain = Text::insert($contain, [$bitmask, $bitmask]); return ['(' . $this->_table->alias() . '.' . $field . $contain . ')']; }
/** * @param int|array $bits * @param bool $contain * @return array SQL snippet. */ protected function _containsBit($bits, $contain = true) { $bits = (array) $bits; $bitmask = $this->encodeBitmask($bits); $field = $this->_config['field']; $contain = $contain ? ' & ? = ?' : ' & ? != ?'; $contain = Text::insert($contain, [$bitmask, $bitmask]); // Hack for Postgres for now $connection = $this->_table->connection(); $config = $connection->config(); if (strpos($config['driver'], 'Postgres') !== false) { return ['("' . $this->_table->alias() . '"."' . $field . '"' . $contain . ')']; } return ['(' . $this->_table->alias() . '.' . $field . $contain . ')']; }