Улучшенная версия ответа Йосселя.
public function whenExists($field, $value = null)
{
return $this->when(array_key_exists($field, $this->resource->toArray()), $value ?? $this->$field);
}
таким образом я могу использовать поле как значение
"first_name" => $this->whenExists("first_name"),
вместо
"first_name" => $this->whenExists("first_name", $this->first_name),