33 lines
756 B
PHP
33 lines
756 B
PHP
<?php
|
|
|
|
namespace App\Form\DataTransformer;
|
|
|
|
use App\Entity\FeedbackSet;
|
|
use Symfony\Component\Form\DataTransformerInterface;
|
|
|
|
class FeedbackToRatingsTransformer implements DataTransformerInterface
|
|
{
|
|
public function __construct(private readonly FeedbackSet $feedbackSet)
|
|
{
|
|
}
|
|
|
|
public function transform(mixed $value): mixed
|
|
{
|
|
// Not in use
|
|
return $value;
|
|
}
|
|
|
|
public function reverseTransform(mixed $value): mixed
|
|
{
|
|
$feedbackRatings = [];
|
|
|
|
foreach ($this->feedbackSet->getRatings() as $index => $rating) {
|
|
$feedbackRatings[] = [
|
|
'rating' => $rating,
|
|
'mark' => $value['rating_'.$index],
|
|
];
|
|
}
|
|
|
|
return $feedbackRatings;
|
|
}
|
|
} |