belongsTo('App\Models\Account'); } public function user() { return $this->belongsTo('App\Models\User')->withTrashed(); } public function client() { return $this->belongsTo('App\Models\Client')->withTrashed(); } public function getPersonType() { return PERSON_CONTACT; } public function getName() { return $this->getDisplayName(); } public function getDisplayName() { if ($this->getFullName()) { return $this->getFullName(); } else { return $this->email; } } public function getContactKeyAttribute($contact_key) { if (empty($contact_key) && $this->id) { $this->contact_key = $contact_key = str_random(RANDOM_KEY_LENGTH); static::where('id', $this->id)->update(array('contact_key' => $contact_key)); } return $contact_key; } public function getFullName() { if ($this->first_name || $this->last_name) { return $this->first_name.' '.$this->last_name; } else { return ''; } } public function getLinkAttribute() { return \URL::to('client/dashboard/' . $this->contact_key); } }