Check that array key exists before accessing it

This commit is contained in:
Brady Wetherington 2025-04-22 14:20:01 +01:00
parent 2a2d118973
commit d3dbd82ce2

View file

@ -100,13 +100,15 @@ trait Loggable
foreach ($originalValues as $key => $value) {
// TODO - action_date isn't a valid attribute of any first-class object, so we might want to remove this?
if ($key == 'action_date' && $value != $action_date) {
$changed[$key]['old'] = $value;
$changed[$key]['new'] = is_string($action_date) ? $action_date : $action_date->format('Y-m-d H:i:s');
} elseif ($value != $this->getAttributes()[$key]) {
} elseif (array_key_exists($key, $this->getAttributes()) && $value != $this->getAttributes()[$key]) {
$changed[$key]['old'] = $value;
$changed[$key]['new'] = $this->getAttributes()[$key];
}
// NOTE - if the attribute exists in $originalValues, but *not* in ->getAttributes(), it isn't added to $changed
}
if (!empty($changed)){