/** * Check if name is not blacklisted. * * @param string $name * @return void * @throws \InvalidArgumentException */ protected function checkNameIsNotBlacklisted($name) { foreach ($this->blacklisted as $character) { if (Str::contains($name, $character)) { throw new InvalidArgumentException("Invalid character in driver name [{$name}]."); } } }
/** * Build wildcard query filters. * * @param \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Query\Builder $query * @param array $fields * @param array $keyword * @param string $group * * @return void */ protected function buildWildcardQueryFilters($query, array $fields, array $keyword = []) { foreach ($fields as $field) { if (Str::contains($field, '.') && $query instanceof Builder) { list($relation, $field) = explode('.', $field, 2); $query->orWhereHas($relation, function ($query) use($field, $keyword) { $this->buildWildcardQueryFilterWithKeyword($query, $field, $keyword, 'where'); }); } else { $this->buildWildcardQueryFilterWithKeyword($query, $field, $keyword, 'orWhere'); } } }