service_address) ?: '-'; } /** * Return the service number * * @return string */ public function getServiceNameAttribute(): string { return $this->service_number ?: ($this->service_address ?: '-'); } /* ATTRIBUTES */ /** * The type of technology used to provide this Internet Service * * @param $value * @return null|string */ public function getTechnologyAttribute($value): ?string { return $value ?: $this->supplied()->technology; } /* OVERRIDES */ /** * Service update validation * * @return array */ public function validation(): array { return [ 'service_number' => 'nullable|string|min:10|max:10', 'service_address' => 'nullable|string|min:3', 'service_username' => 'nullable|string', 'service_password' => 'nullable|string', 'connect_at' => 'nullable|date', 'start_at' => 'nullable|date', 'expire_at' => 'nullable|date|after:start_at', ]; } }