searchableColumns)) { throw new Exception( 'No searchable columns were defined in ' . get_class($this) . '.' ); } $value = strtolower($value); return $query->where(function($query) use ($value) { foreach ($this->searchableColumns as $column) { $query->orWhereRaw( 'LOWER(' . $column . ') LIKE ?', ['%' . $value . '%'] ); } }); } }