TransWikia.com

Editing a freeform submission entry

Craft CMS Asked by schnitzels on June 18, 2021

I have a custom plugin where I get a freeform submission by token. I woud like to change a value in this submission and resave the submission. When I try this the old form data gets overwritten.

$submission = Freeform::getInstance()->submissions->getSubmissionByToken($submissionToken);

$submission->setFormFieldValues(['customField' => $customFieldValue]);

// method 1, doesn't accept type submission, should be form     
Freeform::getInstance()->submissions->storeSubmission($submission);
// method 2, old data get's overwritten, current submissiontoken changes
Craft::$app->elements->saveElement($submission);

One Answer

It looks like setFormFieldValues() has an optional second parameter related to overriding values...

public function setFormFieldValues(array $values, bool $override = true)

So, changing...

$submission->setFormFieldValues(['customField' => $customFieldValue]);

... to...

$submission->setFormFieldValues(['customField' => $customFieldValue], false);

may help with the override issue.

Correct answer by Dan Letsche on June 18, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP