/** * Pushes a model into the memory cache. * * @param Model $model * @return self */ public function push(Model $model) { $this->models[$model->getType()][$model->getId()] = $model; return $this; }
/** * Sets a has-one relationship. * * @param string $key The relationship key (field) name. * @param Model|null $model The model to relate. * @return self */ protected function setHasOne($key, Model $model = null) { if (true === $this->isInverse($key)) { throw ModelException::cannotModifyInverse($this, $key); } if (null !== $model) { $this->validateRelSet($key, $model->getType()); } $this->touch(); $this->hasOneRelationships->set($key, $model); $this->doDirtyCheck(); return $this; }