From 78c2ca736db71f316b570618860c90ab84acf38e Mon Sep 17 00:00:00 2001 From: Ryan Cramer Date: Thu, 10 Nov 2022 11:05:05 -0500 Subject: [PATCH] Fix issue processwire/processwire-issues#1629 --- wire/core/PageValues.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/wire/core/PageValues.php b/wire/core/PageValues.php index 6f065d95..df068ba7 100644 --- a/wire/core/PageValues.php +++ b/wire/core/PageValues.php @@ -76,7 +76,16 @@ class PageValues extends Wire { if($value instanceof WireArray) $value = $value->find($index); } } else if($value instanceof WireData) { - $value = $value->get($key); + $v = $value->get($key); + if($v === null) switch($key) { + // self-generated equivalents for WireArray properties/methods + case 'first': + case 'last': $v = $value; break; + case 'count': $v = 1; break; + case 'values': $v = array($value); break; + case 'keys': $v = ("$value" === $value->className() ? array(0) : array("$value")); break; + } + $value = $v; } else if(is_array($value)) { foreach($value as $kk => $vv) { $value[$kk] = $vv instanceof Wire ? $vv->$k : $vv;