/** * @param BaseForm $form * @param BaseFormData $data * * @return \Illuminate\Http\JsonResponse */ protected function validateAndSave(BaseForm $form, BaseFormData $data) { $data->validate(); $model = $data->save(); return new JsonResponse($form->extract($model)); }
/** * Extract model fields. * * @param mixed $model * @param AttributesCollection $collection * * @return array */ public function extract($model, AttributesCollection $collection = null) { if (!$model) { return null; } if (is_array($model) or $model instanceof Collection) { return $this->extractAll($model, $collection); } $attributes = parent::extract($model, $collection); $meta = $this->getMetaDataForModel($model); return compact('attributes', 'meta'); }