classMapper->createInstance('permission')->newQuery(); } /** * Filter LIKE the slug, conditions, or description. * * @param Builder $query * @param mixed $value * @return $this */ protected function filterInfo($query, $value) { return $this->filterProperties($query, $value); } /** * Filter LIKE the slug, conditions, or description. * * @param Builder $query * @param mixed $value * @return $this */ protected function filterProperties($query, $value) { // Split value on separator for OR queries $values = explode($this->orSeparator, $value); $query->where(function ($query) use ($values) { foreach ($values as $value) { $query->orLike('slug', $value) ->orLike('conditions', $value) ->orLike('description', $value); } }); return $this; } /** * Sort based on slug. * * @param Builder $query * @param string $direction * @return $this */ protected function sortProperties($query, $direction) { $query->orderBy('slug', $direction); return $this; } }