save()) { // We dont traverse this models relations return false; } // To sync all of the relationships to the database, we will simply spin through // the relationships and save each model via this "pushNew" method, which allows // us to recurse into all of these nested relations for the model instance. foreach ($this->relations as $key => $models) { // If we are not pushable, jump to the next item. if (! is_array($this->pushable) OR ! in_array($key,$this->pushable)) continue; $models = $models instanceof Collection ? $models->all() : [$models]; foreach (array_filter($models) as $model) { $model->setAttribute($this->getForeignKey(),$this->{$this->getKeyName()}); if (! $model->pushNew()) { return false; } } } return true; } }