Mpociot\Versionable\Version::getModel PHP Метод

getModel() публичный Метод

Return the versioned model
public getModel ( ) : Model
Результат Illuminate\Database\Eloquent\Model
    public function getModel()
    {
        $modelData = is_resource($this->model_data) ? stream_get_contents($this->model_data) : $this->model_data;
        $model = new $this->versionable_type();
        $model->unguard();
        $model->fill(unserialize($modelData));
        $model->exists = true;
        $model->reguard();
        return $model;
    }

Usage Example

Пример #1
0
 /**
  * Diff the attributes of this version model against another version.
  * If no version is provided, it will be diffed against the current version.
  *
  * @param Version|null $againstVersion
  * @return array
  */
 public function diff(Version $againstVersion = null)
 {
     $model = $this->getModel();
     $diff = $againstVersion ? $againstVersion->getModel() : $this->versionable()->withTrashed()->first()->currentVersion()->getModel();
     $diffArray = array_diff_assoc($diff->getAttributes(), $model->getAttributes());
     if (isset($diffArray[$model->getCreatedAtColumn()])) {
         unset($diffArray[$model->getCreatedAtColumn()]);
     }
     if (isset($diffArray[$model->getUpdatedAtColumn()])) {
         unset($diffArray[$model->getUpdatedAtColumn()]);
     }
     if (method_exists($model, 'getDeletedAtColumn') && isset($diffArray[$model->getDeletedAtColumn()])) {
         unset($diffArray[$model->getDeletedAtColumn()]);
     }
     return $diffArray;
 }