<?php namespace App\Models\Service; /** * Class Phone (Service) * Services that are Voice Telephony */ class Phone extends Type { protected $dates = [ 'connect_at', 'expire_at', ]; protected $table = 'service_phone'; /* ABSTRACT */ /** * Search for a record * * @param $query * @param string $term * @return mixed */ public function scopeSearch($query,string $term) { // Build our where clause return parent::scopeSearch($query,$term) ->orwhere('service_number','like','%'.$term.'%') ->orWhere('service_address','like','%'.$term.'%'); } /* INTERFACES */ /** * Return the service address * * @return string */ public function getServiceDescriptionAttribute(): string { return strtoupper($this->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; } }