- Added multiple parameters on SearchParameter

This commit is contained in:
Dave Mc Nicoll committed 2024-06-05 17:47:31 +00:00
1 parent bbfd7c02b4
commit 0c8591f238
5 files changed
+18 -9

No files matched your search

@@ -93,24 +93,28 @@ trait SearchRequestFromRequestTrait
protected function getValueFromSource(RequestInterface $request, string $propertyName, SearchParameter $attribute) : mixed
{
$queryParamName = $attribute->parameter ?? $propertyName;
$queryParamName = $attribute->getParameters() ?? [ $propertyName ];
foreach($attribute->getSources() as $source) {
switch($source) {
case PropertyValueSource::QueryParams:
$queryParams = new \ArrayObject(array_filter($request->getQueryParams(), function($i) { return ! is_null($i) && $i !== ""; }));
if ($queryParams->offsetExists($queryParamName)) {
return $queryParams[$queryParamName];
foreach($queryParamName as $param) {
if ($queryParams->offsetExists($param)) {
return $queryParams[$param];
}
}
break;
case PropertyValueSource::RequestAttribute:
$fromAttribute = $request->getAttribute($queryParamName, null);
foreach($queryParamName as $param) {
$fromAttribute = $request->getAttribute($param, null);
if ($fromAttribute !== null) {
return $fromAttribute;
if ($fromAttribute !== null) {
return $fromAttribute;
}
}
break;