model(); $updates = $form->updates(); [$relations, $relationKeyMap] = $this->getRelationInputs($model, $updates); if ($relations) { $updates = Arr::except($updates, array_keys($relationKeyMap)); } // foreach ($updates as $column => $value) { // $model->setAttribute($column, $value); // } //添加邀请码处理 $code = $updates['code']; unset($updates['code']);//移除邀请码 $inviter = null; if ($code) { $inviter = Model::when(PhoneNumber::validate($code), function ($query) use ($code) { $query->where('phone', $code); }, function ($query) use ($code) { $query->whereRelation('userInfo', 'code', $code); })->first(); } $this->model = $model::create($updates, $inviter); $this->updateRelation($form, $model, $relations, $relationKeyMap); }); return $this->model()->getKey(); } }