impossible de persister un formulaire

Par accessiproject, il y a 6 ans


Bonjour,
Je débute sur Symfony et je rencontre depuis quelques jours un problèmes.
Mon projet est le suivant: créer un utilitaire pour administrer des sondages.
Voci mes règles de gestion:

namespace App\Entity;

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;

/**

  1. proposition.php
    <?php

namespace App\Entity;

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;

/**

  1. user.php
    namespace App\Entity;

use Doctrine\Common\Collections\ArrayCollection;
use Doctrine\Common\Collections\Collection;
use Doctrine\ORM\Mapping as ORM;

/**

namespace App\Form;

use App\Entity\User;
use App\Entity\Proposition;
use Doctrine\ORM\EntityRepository;
use Symfony\Component\Form\AbstractType;
use App\Repository\PropositionRepository;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\FormInterface;

class UserType extends AbstractType
{

public function buildForm(FormBuilderInterface $builder, array $options)
{
    $survey = $options['survey'];
    $multiple = $options['multiple'];

    if ($multiple == 1)
        $param = "true";
    else
        $param = "false";

    $choices = array();
    foreach ($options['propositions'] as $proposition) {
        $wording = $proposition->getWording();
        $choices[$wording] = $wording;
    }

        //...

    if ($param == "false") {
        $builder->add('propositions', ChoiceType::class, array(
            'choices' => $choices,
            'expanded' => true,
            'multiple' => false,
        ));
    } else {
        $builder->add('propositions', EntityType::class, [
            'class' => Proposition::class,
            'expanded' => true,
            'multiple' => true,
            'query_builder' => function (EntityRepository $proposition) use ($survey) {
                return $proposition->createQueryBuilder('u')
                    ->where('u.survey = :survey')
                    ->setParameter('survey', $survey);
            },
            'choice_label' => 'wording',
        ]);
    }    

}

public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults([
        'data_class' => User::class,
        'survey' => null,
        'multiple' => null,
        'propositions' => null,
    ]);
}

}

Voici le SurveyController:

namespace App\Controller;

use App\Entity\User;
use App\Entity\Survey;
use App\Form\UserType;
use App\Form\SurveyType;
use App\Entity\Proposition;
use App\Repository\PropositionRepository;
use Doctrine\ORM\EntityManagerInterface;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\IsGranted;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
class SurveyController extends AbstractController
{
/**

J'ai cherché sur internet. Malheureusement, ne n'ai rien trouvé de probant.
Auriez-vous une idée s'il-vous-plaît?
Espérant avoir été assez clair,
Vous en remerciant par avance,

Aucune réponse