/** * {@inheritdoc} */ protected function whereBasic(BaseBuilder $query, $where) { if (in_array($where['operator'], array_keys($this->jsonbOperators))) { return $this->whereJsonbOperators($where); } return parent::whereBasic($query, $where); }
/** * @param string $value * * @return string */ protected function wrapValue($value) { if ($value === '*') { return $value; } // If querying hstore if (preg_match('/\\[(.*?)\\]/', $value, $match)) { return (string) str_replace(array('[', ']'), '', $match[1]); } // If querying json column foreach ($this->jsonOperators as $operator) { if (stripos($value, $operator)) { list($value, $key) = explode($operator, $value, 2); return parent::wrapValue($value) . $operator . $key; } } return parent::wrapValue($value); }