From cb1528f34b3bcf9b3903fc335b22718f772b8c21 Mon Sep 17 00:00:00 2001 From: Dave Mc Nicoll Date: Mon, 15 Jun 2026 19:41:08 +0000 Subject: [PATCH] - Work done on matching some new Ulmus method definitions --- src/Entity/UserAccountControlTrait.php | 2 +- src/EntityTrait.php | 4 +++- src/Repository.php | 2 +- src/Repository/ConditionTrait.php | 6 +++--- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/Entity/UserAccountControlTrait.php b/src/Entity/UserAccountControlTrait.php index 108eb7b..9da0997 100644 --- a/src/Entity/UserAccountControlTrait.php +++ b/src/Entity/UserAccountControlTrait.php @@ -6,7 +6,7 @@ trait UserAccountControlTrait { public function matchAccountControl(UserAccountControlEnum $userAccountControl) : bool { - return ($this->userAccountControl & $userAccountControl->value) === $userAccountControl->value; + return (($this->userAccountControl ?? false) & $userAccountControl->value) === $userAccountControl->value; } public function isDisabled() : bool diff --git a/src/EntityTrait.php b/src/EntityTrait.php index 86fe2b0..de555b6 100644 --- a/src/EntityTrait.php +++ b/src/EntityTrait.php @@ -41,7 +41,9 @@ trait EntityTrait { #[Ignore] public static function field($name, null|string|false $alias = Repository::DEFAULT_ALIAS) : EntityField { - return new EntityField(static::class, $name, false, Ulmus::resolveEntity(static::class)); + return new EntityField( + name: $name, entityClass: static::class, alias: false, entityResolver: Ulmus::resolveEntity(static::class), + ); } #[Ignore] diff --git a/src/Repository.php b/src/Repository.php index b86f3f8..25a05e5 100644 --- a/src/Repository.php +++ b/src/Repository.php @@ -15,7 +15,7 @@ class Repository extends \Ulmus\Repository public array $events = []; - public function __construct(string $entity, string $alias = self::DEFAULT_ALIAS, ConnectionAdapter $adapter = null) { + public function __construct(string $entity, string $alias = self::DEFAULT_ALIAS, null|ConnectionAdapter $adapter = null) { # $this->queryBuilder = new QueryBuilder(); parent::__construct($entity, $alias, $adapter); diff --git a/src/Repository/ConditionTrait.php b/src/Repository/ConditionTrait.php index 8a7c264..fcedba3 100644 --- a/src/Repository/ConditionTrait.php +++ b/src/Repository/ConditionTrait.php @@ -17,10 +17,10 @@ trait ConditionTrait return $this; } - public function wheres(array $fieldValues, string $operator = Query\Where::OPERATOR_EQUAL) : Repository + public function wheres(array $fieldValues, string|array $operator = Query\Where::OPERATOR_EQUAL, string|array $condition = Query\Where::CONDITION_AND) : self { foreach($fieldValues as $field => $value) { - $this->where($field, $value, $operator); + $this->where($field, $value, is_array($operator) ? ( $operator[$field] ?? Query\Where::OPERATOR_EQUAL ) : $operator, is_array($condition) ? ( $condition[$field] ?? Query\Where::CONDITION_AND ) : $condition); } return $this; @@ -127,7 +127,7 @@ trait ConditionTrait return $this; } - public function likes(array $fieldValues, string $condition = Query\Where::CONDITION_AND) : Repository + public function likes(array $fieldValues, string|array $condition = Query\Where::CONDITION_AND) : self { foreach($fieldValues as $field => $value) { $this->like($field, $value);