Fix filtering of name/description (case in-sensitive)

This commit is contained in:
2022-03-15 12:18:13 +00:00
parent 1fe9cba239
commit cf5247aa66
2 changed files with 44 additions and 24 deletions

View File

@@ -83,6 +83,48 @@ class OrganisationSprunje extends Sprunje
return $this;
}
/**
* Filter by name (case insensitive).
*
* @param Builder $query
* @param mixed $value
*
* @return self
*/
protected function filterName($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->orWhereRaw('LOWER(name) LIKE ?', [ '%' . strtolower($value) . '%' ]);
}
});
return $this;
}
/**
* Filter by description (case insensitive).
*
* @param Builder $query
* @param mixed $value
*
* @return self
*/
protected function filterDescription($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->orWhereRaw('LOWER(description) LIKE ?', [ '%' . strtolower($value) . '%' ]);
}
});
return $this;
}
/**
* Return a list of possible user statuses.
*
@@ -117,28 +159,6 @@ class OrganisationSprunje extends Sprunje
return $this;
}
/**
* Filter LIKE name OR description. (for user organisations modal)
*
* @param Builder $query
* @param mixed $value
*
* @return self
*/
protected function filterInfo($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('name', $value)
->orLike('description', $value);
}
});
return $this;
}
/**
* Sort based on created date.
*