<?php


namespace App\Models;


use Illuminate\Database\Eloquent\Model;

class BaseModel extends Model
{
    public function getAttribute($key)
    {
        if ($this->exists && ! $key) {
            throw new \LogicException("No attribute ".var_export($key, true));
        }

        return parent::getAttribute($key);
    }

    /**
     * Get a relationship.
     *
     * @param  string  $key
     * @return mixed
     */
    public function getRelationValue($key)
    {
        if ($this->exists && !method_exists($this, $key)) {
            if (!isset($this->original[$key])) {
                throw new \LogicException("No attribute or relation " . var_export($key, true));
            }
        }

        return parent::getRelationValue($key);
    }
}