@@ -47,7 +47,7 @@ class RedisHelper
4747 */
4848 public static function buildQueryBoolean (array $ query , array $ data ): array
4949 {
50- return array_merge ($ query , array_keys (array_filter ($ data , function ($ item ) {
50+ return array_merge ($ query , array_keys (array_filter ($ data , function (bool $ item ): bool {
5151 return $ item ;
5252 })));
5353 }
@@ -65,6 +65,9 @@ public static function buildQueryBoolean(array $query, array $data): array
6565 public static function buildQueryList (array $ query , array $ data , bool $ allowEmpty = false ): array
6666 {
6767 foreach ($ data as $ queryWord => $ list ) {
68+ if (!is_array ($ list )) {
69+ continue ;
70+ }
6871 if (true === $ allowEmpty || count ($ list ) > 0 ) {
6972 $ query [] = $ queryWord ;
7073 $ query [] = count ($ list );
@@ -80,10 +83,15 @@ public static function buildQueryList(array $query, array $data, bool $allowEmpt
8083 * @param array<string, null|mixed> $data
8184 *
8285 * @return array<float|int|string>
86+ *
87+ * @phan-suppress PhanPartialTypeMismatchReturn
8388 */
8489 public static function buildQueryNotNull ($ query , array $ data ): array
8590 {
86- foreach (array_filter ($ data ) as $ queryWord => $ value ) {
91+ $ notNullValues = array_filter ($ data , function ($ value ): bool {
92+ return !(null === $ value );
93+ });
94+ foreach ($ notNullValues as $ queryWord => $ value ) {
8795 $ query [] = $ queryWord ;
8896 $ query [] = $ value ;
8997 }
@@ -101,6 +109,9 @@ public static function buildQueryPartial(array $query, array $partials): array
101109 {
102110 /** @var PartialQuery $partial */
103111 foreach (array_filter ($ partials ) as $ partial ) {
112+ if (!$ partial instanceof PartialQuery) {
113+ continue ;
114+ }
104115 $ query = array_merge ($ query , $ partial ->getQueryParts ());
105116 }
106117
0 commit comments