} */ public static function fill(NovaRequest $request, $model) { return static::fillFields( $request, $model, (new static($model)) ->creationFields($request) ->applyDependsOn($request) ->withoutReadonly($request) ->withoutUnfillable() ); } /** * Fill a new model instance using the given request. * * @param \Laravel\Nova\Http\Requests\NovaRequest $request * @param \Illuminate\Database\Eloquent\Model $model * @return array{\Illuminate\Database\Eloquent\Model, array} */ public static function fillForUpdate(NovaRequest $request, $model) { return static::fillFields( $request, $model, (new static($model)) ->updateFields($request) ->applyDependsOn($request) ->withoutReadonly($request) ->withoutUnfillable() ); } /** * Fill a new pivot model instance using the given request. * * @param \Laravel\Nova\Http\Requests\NovaRequest $request * @param \Illuminate\Database\Eloquent\Model $model * @param \Illuminate\Database\Eloquent\Relations\Pivot $pivot * @return array{\Illuminate\Database\Eloquent\Model, array} */ public static function fillPivot(NovaRequest $request, $model, $pivot) { $instance = new static($model); return static::fillFields( $request, $pivot, $instance ->creationPivotFields($request, $request->relatedResource) ->applyDependsOn($request) ->withoutReadonly($request) ->withoutUnfillable() ); } /** * Fill a new pivot model instance using the given request. * * @param \Laravel\Nova\Http\Requests\NovaRequest $request * @param \Illuminate\Database\Eloquent\Model $model * @param \Illuminate\Database\Eloquent\Relations\Pivot $pivot * @return array{\Illuminate\Database\Eloquent\Model, array} */ public static function fillPivotForUpdate(NovaRequest $request, $model, $pivot) { $instance = new static($model); return static::fillFields( $request, $pivot, $instance->updatePivotFields($request, $request->relatedResource) ->applyDependsOn($request) ->withoutReadonly($request) ->withoutUnfillable() ); } /** * Fill the given fields for the model. * * @param \Laravel\Nova\Http\Requests\NovaRequest $request * @param \Illuminate\Database\Eloquent\Model $model * @param \Illuminate\Support\Collection $fields * @return array{\Illuminate\Database\Eloquent\Model, array} */ protected static function fillFields(NovaRequest $request, $model, $fields) { return [$model, $fields->map->fill($request, $model)->filter(function ($callback) { return is_callable($callback); })->values()->all()]; } }