- Continued work on SearchRequest migration and fixed some more QueryBuilder migration too

This commit is contained in:
mcndave committed 2024-04-18 19:59:28 +00:00
1 parent 9fdebf454d
commit 950df5eb99
15 files changed
+122 -48

No files matched your search

@@ -0,0 +1,9 @@
<?php
namespace Ulmus\SearchRequest\Attribute;
#[\Attribute(\Attribute::TARGET_PROPERTY | \Attribute::IS_REPEATABLE)]
abstract class PropertyValueModifier
{
public abstract function run(mixed $value) : mixed;
}
@@ -0,0 +1,18 @@
<?php
namespace Ulmus\SearchRequest\Attribute\PropertyValueModifier;
use Ulmus\SearchRequest\Attribute\PropertyValueModifier;
#[\Attribute(\Attribute::TARGET_PROPERTY)]
class Split extends PropertyValueModifier
{
public function __construct(
public string $delimiter = ',',
) {}
public function run(mixed $value) : mixed
{
return explode($this->delimiter, $value);
}
}
@@ -9,8 +9,7 @@ class SearchGroupBy extends SearchParameter
{
public function __construct(
public ? string $parameter = null,
public ? string $field = null,
public bool $toggle = false,
public null|string|\Stringable|array $field = null,
public SearchMethodEnum $method = SearchMethodEnum::GroupBy,
) {}
}
+1 -1
View File
@@ -9,7 +9,7 @@ class SearchLike extends SearchParameter
{
public function __construct(
public ? string $parameter = null,
public ? string $field = null,
public null|string|\Stringable|array $field = null,
public bool $toggle = false,
public SearchMethodEnum $method = SearchMethodEnum::Like,
) {}
@@ -7,10 +7,13 @@ use Ulmus\SearchRequest\SearchMethodEnum;
#[\Attribute(\Attribute::TARGET_PROPERTY)]
class SearchOrderBy extends SearchParameter
{
public const ASCENDING = "ASC";
public const DESCENDING = "DESC";
public function __construct(
public ? string $parameter = null,
public ? string $field = null,
public bool $toggle = false,
public SearchMethodEnum $method = SearchMethodEnum::OrderByAsc,
public null|string|\Stringable|array $field = null,
public null|SearchMethodEnum $order = null,
) {}
}
@@ -7,10 +7,6 @@ use Ulmus\SearchRequest\SearchMethodEnum;
#[\Attribute(\Attribute::TARGET_PROPERTY)]
class SearchParameter
{
public function __construct(
public ? string $parameter = null,
public ? string $field = null,
public bool $toggle = false,
public SearchMethodEnum $method = SearchMethodEnum::Manual,
) {}
}
+1 -1
View File
@@ -9,7 +9,7 @@ class SearchWhere extends SearchParameter
{
public function __construct(
public ? string $parameter = null,
public ? string $field = null,
public null|string|\Stringable|array $field = null,
public bool $toggle = false,
public SearchMethodEnum $method = SearchMethodEnum::Where,
) {}