public function getAttribute($key)
{
if (!is_null($value = parent::getAttribute($key))) {
return $value;
}
// If a custom relation with this key has been set up, then we will load
// and return results from the query and hydrate the relationship's
// value on the "relationships" array.
if (!$this->relationLoaded($key) && ($relation = $this->getCustomRelation($key))) {
if (!$relation instanceof Relation) {
throw new LogicException('Relationship method must return an object of type ' . Relation::class);
}
return $this->relations[$key] = $relation->getResults();
}
}