Symfony 4/5 ERROR 1048 Le champ user_id ne peut être vide ! il ne l'est pas !

Résolu/Fermé
malo91 Messages postés 53 Date d'inscription mardi 2 février 2021 Statut Membre Dernière intervention 3 août 2022 - Modifié le 29 avril 2021 à 10:26
jordane45 Messages postés 36588 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2022 - 29 avril 2021 à 12:22
hello hello ! me revoilà avec une question pour mon projet en cours, toute nouvelle de 15 jours pour symfony ! j'ai depuis hier une erreur qui malgré sa précision dans le message ne m'a pas permis de trouver la reponse ! Ca marchait avant : je suis entrain de CREER un trick et il n'est pas vide mon id donc je ne trouve pas ! pourriez vous m'aider svp?
d'apres mes recherches, j'ai aussi regardé du coté de mes relations : en vain :(
voici mon controllerTrick: ( pour l'ajout)

    public function new(Request $request): Response
    {
        $trick = new Trick();
        $form = $this->createForm(TrickType::class, $trick);
        $form->handleRequest($request);

        if ($form->isSubmitted() && $form->isValid()) {
            $pictures = $form->get('picture')->getData();

            foreach ($pictures as $picture) {
                $fichier = md5(uniqid()) . '.' . $picture->guessExtension();
           
            $picture->move(
                $this->getParameter('pictures_directory'),
                $fichier
            );
       
            $img = new Picture();
            $img->setName($fichier);
            $trick->addPicture($img);
        }

            $entityManager = $this->getDoctrine()->getManager();
            $entityManager->persist($trick);
            $entityManager->flush();

            return $this->redirectToRoute('trick_index');
        }

        return $this->render('trick/new.html.twig', [
            'trick' => $trick,
            'form' => $form->createView(),
        ]);
    
        }
    


mon fichier TrickType :
class TrickType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            
            ->add('name')
            ->add('description')
            ->add('createdAt')
            ->add('updateAt')
            ->add('category')         
            ->add('picture', FileType::class, [
                'label'=> false,
                'multiple'=> true,
                'mapped'=> false,
                'required'=> false
            ])

        ;
    }


et pour finir mon entityTrick puisque je suis en creation ( qui marchait :( )

class Trick
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(type="string", length=255)
     */
    private $name;

    /**
     * @ORM\Column(type="string", length=355, nullable=true)
     */
    private $description;

    /**
     * @ORM\Column(type="datetimetz")
     */
    private $createdAt;

    /**
     * @ORM\Column(type="datetime")
     */
    private $updateAt;

    /**
     * @ORM\ManyToOne(targetEntity=Category::class, inversedBy="tricks")
     * @ORM\JoinColumn(nullable=false)
     */
    private $category;

    /**
     * @ORM\OneToMany(targetEntity=Comment::class, mappedBy="trick")
     */
    private $comments;

    /**
     * @ORM\Column(type="string", length=255, nullable=true)
     */
    private $picture;

    /**
     * @ORM\Column(type="string", length=100, nullable=true)
     */
    private $videos;

    /**
     * @ORM\OneToMany(targetEntity=Picture::class, mappedBy="trick",
     * orphanRemoval=true, cascade={"persist"})
     */
    private $pictures;

    /**
     * @ORM\OneToMany(targetEntity=Video::class, mappedBy="trick")
     */
    private $video;

    /**
     * @ORM\ManyToOne(targetEntity=User::class, inversedBy="trick")
     * @ORM\JoinColumn(nullable=false)
     */
    private $user;





1000 merci si vous voyez pk une erreur si bete me chagrine depuis 1 jour merci pour votre aide

4 réponses

jordane45 Messages postés 36588 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2022 4 415
Modifié le 29 avril 2021 à 11:35
Bonjour,


d'apres mes recherches, j'ai aussi regardé du coté de mes relations : en vain :(


Sans avoir trop regardé ... il semble que tu attendes un user

/**


* @ORM\ManyToOne(targetEntity=User::class, inversedBy="trick")

* @ORM\JoinColumn(nullable=false)

*/

(cette valeur ne pouvant pas être NULL )
Je ne fais que rarement du Synfony ..mais... n'aurais tu pas oublié de lui "passer" le user dans ta création ?




.
Cordialement,
Jordane
0
euh non puisque je suis connectee ! :)
0
jordane45 Messages postés 36588 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2022 4 415
29 avril 2021 à 11:35
Humm....
Es-tu sûr qu'avec un truc du genre ça ne résolverait pas ton souci ?

 $trick->setUser($this->getUser());
0
malo91 Messages postés 53 Date d'inscription mardi 2 février 2021 Statut Membre Dernière intervention 3 août 2022 1
29 avril 2021 à 11:35
en revanche je viens de faire un dump et j'ai helas :
Normalized Format	
App\Entity\Trick {#508 ▼
  -id: null
  -name: "bonjour"
  -description: "oipipipi"
  -createdAt: DateTime @1451606400 {#1010 ▶}
  -updateAt: DateTime @1451606400 {#1270 ▶}
  -category: App\Entity\Category {#1306 ▶}
  -comments: Doctrine\ORM\PersistentCollection {#1534 …}
  -picture: null
  -videos: Doctrine\Common\Collections\ArrayCollection {#506 …}
  -pictures: Doctrine\ORM\PersistentCollection {#1533 …}
  -video: Doctrine\ORM\PersistentCollection {#1544 …}
  -user: null
}


donc mon id est bien null :( jcomprends pas
0
malo91 Messages postés 53 Date d'inscription mardi 2 février 2021 Statut Membre Dernière intervention 3 août 2022 1
29 avril 2021 à 11:57
wouahhh quel bonheur!! merci Jordan45 tu es le meilleur :)
ouiiiiiiiii ca marche :) merci mais comme j'aime comprendre, j'aimerai bien savoir pourquoi il fallait ajouter cela alors qu'avant ca marchait sans!!

merci bcp
merci de vos avis
0
jordane45 Messages postés 36588 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 30 novembre 2022 4 415
Modifié le 29 avril 2021 à 21:22
Comme on ne sait pas ce que tu as modifié entre le moment où ça marchait et maintenant impossible de te le dire.
Tu as peut-être changé la propriété de la colonne user_id en la mettant en nul non autorisé.

Quoi qu'il en soit, pense à mettre le sujet en résolu
0