- Merged getValue override
This commit is contained in:
1 parent
b0b3aca6d9
commit
fd5d31fa17
11 files changed
+183
-106
No files matched your search
@@ -73,7 +73,7 @@ trait SearchRequestFromRequestTrait
|
||||
public function fromRequest(ServerRequestInterface $request) : static
|
||||
{
|
||||
$this->objectReflection = ObjectReflection::fromClass(static::class)->reflectClass();
|
||||
|
||||
|
||||
if (method_exists($this, 'prepare')) {
|
||||
$this->prepare($request);
|
||||
}
|
||||
@@ -83,7 +83,7 @@ trait SearchRequestFromRequestTrait
|
||||
$this->page = $queryParams->offsetExists('page') ? $queryParams['page'] : 1;
|
||||
|
||||
$this->applyValues(
|
||||
fn($propertyName, $attribute) => $this->getValueFromSource($request, $propertyName, $attribute)
|
||||
fn($propertyName, $attribute) =>$this->getValueFromSource($request, $propertyName, $attribute)
|
||||
);
|
||||
|
||||
$operators = $request->getAttribute(SearchRequestInterface::SEARCH_REQUEST_OPERATORS);
|
||||
@@ -227,6 +227,14 @@ trait SearchRequestFromRequestTrait
|
||||
|
||||
protected function getValueFromSource(RequestInterface $request, string $propertyName, SearchParameter $attribute) : mixed
|
||||
{
|
||||
$classAttributes = $this->objectReflection->getAttributes(SearchRequestParameter::class);
|
||||
$searchRequestAttribute = $classAttributes[0]->object;
|
||||
$className = $searchRequestAttribute->class;
|
||||
|
||||
if ( $override = $request->getAttribute(sprintf("searchRequest.%s:%s", $className, $propertyName)) ) {
|
||||
return $override;
|
||||
}
|
||||
|
||||
$queryParamName = $attribute->getParameters() ?: [ $propertyName ];
|
||||
|
||||
foreach($attribute->getSources() as $source) {
|
||||
|
||||
Reference in new issue
Block a user