Inheritance: implements Isswp101\Persimmon\Contracts\Arrayable, implements Isswp101\Persimmon\Contracts\Jsonable, implements Isswp101\Persimmon\Contracts\Stringable, implements JsonSerializabl\JsonSerializable, use trait Isswp101\Persimmon\Traits\Presentable, use trait Isswp101\Persimmon\Traits\Eventable, use trait Isswp101\Persimmon\Traits\Mergeable, use trait Isswp101\Persimmon\Traits\Idable, use trait Isswp101\Persimmon\Traits\Userable, use trait Isswp101\Persimmon\Traits\Timestampable, use trait Isswp101\Persimmon\Traits\Fillable, use trait Isswp101\Persimmon\Traits\Cacheable
 /**
  * Put instance to cache.
  *
  * @param mixed $key
  * @param Model $instance
  * @param array $attributes
  * @return Model
  */
 public function put($key, Model $instance, array $attributes = ['*'])
 {
     if ($attributes != ['*'] && $this->has($key)) {
         $instance = Model::merge($this->cache[$key]['instance'], $instance, $attributes);
         $attributes = array_merge($this->cache[$key]['attributes'], $attributes);
     }
     $this->cache[$key] = ['instance' => $instance, 'attributes' => $attributes];
     return $instance;
 }
 public function __construct(IDAL $dal, array $attributes = [])
 {
     $this->validateModelEndpoint();
     parent::__construct($dal, $attributes);
 }