@Haryke The Eloquent method you’re looking for is aptly named “update”. You can pass an array of attributes, and so long as they’re marked as fillable, will replace the values for that row in the database.
$model->update($attributes);
With regards to form requests, it’s up to you how to structure them. If you find you have the same validation for updating a record as you do creating one (or 90%) of the way there, then there’s nothing stopping you from extending the form request class for creation, and modifying it a little. For example:
class UpdateRequest extends CreateRequest {
public function validate()
{
// Get create validation rules
$rules = parent::rules();
// Modify $rules array here
return $rules;
}
}
As a side-note, if you use route–model binding, you also don’t need to query models in your controller actions. Instead, a model instance can be injected right in there.