Partage
  • Partager sur Facebook
  • Partager sur Twitter

requête avec une propriété uuid

symfony 5

    1 février 2023 à 18:19:09

    Bonsoir à tous,

    Je rencontre un problème concernant une propriété uuid de mon objet (Uuid::v4())

    Je cherche à récupérer mon objet par le biais de cette propriété 

    ->findOneBy(['uuid' => $uuid]);

    J'ai une erreur de conversion :

    "Could not convert database value \"0f65b872aae34dd58d3bc182aa5df019\" to Doctrine Type uuid"


    Mais après documentation je n'arrive pas à trouver comment la convertir.


    Pourriez-vous me donner un coup de main svp ?


    Merci


    -
    Edité par PierreRichard78 1 février 2023 à 18:19:32

    • Partager sur Facebook
    • Partager sur Twitter

    la chance sourit aux audacieux

      1 février 2023 à 19:10:56

      Bonjour,

      Uuid::V4 est une objet or là tu sembles transmettre un string.

      A+

      • Partager sur Facebook
      • Partager sur Twitter
        1 février 2023 à 20:38:18

        Bonsoir,

        ah ok je vois

        J'ai testé 

        $uuid = new Uuid('afffd958abfa42548ea16564312d3c80');

        ça me met invalid uuid, 

        j'ai également testé la class UuidV4

        • Partager sur Facebook
        • Partager sur Twitter

        la chance sourit aux audacieux

          2 février 2023 à 7:10:19

          Si tu veux générer un objet uid à partir d'un string c'est :

          $uidObject = Uuid::fromString($uidString);

          Regarde la doc : https://symfony.com/doc/current/components/uid.html

          Par ailleurs, as tu défini la propriété dans ton entité ainsi :

          #[ORM\Column(type: 'uuid')]
          private ?Uuid $uid = null; 

          A+

          -
          Edité par monkey3d 2 février 2023 à 7:11:52

          • Partager sur Facebook
          • Partager sur Twitter
            2 février 2023 à 20:05:54

            Hello,

            Je te remercie de ces précisions, je comprends mieux par contre ça reste toujours la même erreur 

            j'ai testé aussi Uuid

                    $uidObject = UuidV4::fromString('afffd958abfa42548ea16564312d3c80');
                    $panier = $panierRepository->findOneBy(['uuid' => $uidObject]);
            
                    dd($panier);
                /**
                 * @ORM\Column(type="uuid", nullable=true)
                 */
                private $uuid;
            
            
            
                public function __construct()
                {
                    $this->transactions = new ArrayCollection();
                    $this->semainePaniers = new ArrayCollection();
                    $this->uuid = Uuid::v4();
                }



            "Invalid UUIDv4: \"afffd958abfa42548ea16564312d3c80\"."


            là ça devrait être bon, je ne comprends pas

            -
            Edité par PierreRichard78 2 février 2023 à 21:48:34

            • Partager sur Facebook
            • Partager sur Twitter

            la chance sourit aux audacieux

              2 février 2023 à 20:48:07

              Bonjour,

              Le message qui suit est une réponse automatique activée par un membre de l'équipe. Les réponses automatiques leur permettent d'éviter d'avoir à répéter de nombreuses fois la même chose, ce qui leur fait gagner du temps et leur permet de s'occuper des sujets qui méritent plus d'attention.
              Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter la personne en question par Message Privé.

              Pour plus d'informations, nous vous invitons à lire les règles générales du forum

              Merci de colorer votre code à l'aide du bouton Code

              Les forums d'Openclassrooms disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source afin de les rendre plus lisibles et faciles à manipuler par les intervenants. Pour cela, il faut utiliser le bouton Code de l'éditeur, choisir un des langages proposés et coller votre code dans la zone prévue.

              Merci de modifier votre message d'origine en fonction.

              • Partager sur Facebook
              • Partager sur Twitter

              Pas d'aide concernant le code par MP, le forum est là pour ça :)

                3 février 2023 à 5:35:11

                Comment as tu générer l'uid que tu cherches à transformer en objet ? Car cela ne ressemble pas à un uid V4.

                Regarde le format d'un V4 : https://www.uuidgenerator.net/version4

                A+

                • Partager sur Facebook
                • Partager sur Twitter
                  10 février 2023 à 0:37:56

                  Bonsoir,

                  ah oui c'est étrange en bdd c'est 0xcce9a6bdd2f445c8b8e1c5be94c6c48f par exemple pourtant dans mon entity j'utilise Uuid::V4()

                  • Partager sur Facebook
                  • Partager sur Twitter

                  la chance sourit aux audacieux

                    10 février 2023 à 7:45:38

                    Je ne comprends plus très bien comment tu procèdes car si tu as déjà l'objet uid dans ta base et un objet uid dans ton code pourquoi cherchez tu dans le code à le transformer en string pour faire ta recherche ?

                    A+

                    • Partager sur Facebook
                    • Partager sur Twitter
                      10 février 2023 à 7:49:40

                      PierreRichard78 a écrit:

                      Bonsoir,

                      ah oui c'est étrange en bdd c'est 0xcce9a6bdd2f445c8b8e1c5be94c6c48f par exemple pourtant dans mon entity j'utilise Uuid::V4()


                      Ce n'est qu'une représentation de votre logiciel. Essayez ceci : https://remarkablemark.org/blog/2020/05/21/mysql-uuid-bin/

                      Peut-être que vous aurez une meilleure représentation.

                      -
                      Edité par quenti77 10 février 2023 à 7:52:12

                      • Partager sur Facebook
                      • Partager sur Twitter
                        17 février 2023 à 19:22:36

                        Bonsoir, 

                        ah désolé je vous avais écris il y a qq jours mais j'ai du fermer la page trop vite

                        je vous disais que finalement en changeant le type de la propriété de uuid à string ça fonctionne

                        • Partager sur Facebook
                        • Partager sur Twitter

                        la chance sourit aux audacieux

                          17 février 2023 à 19:31:54

                          Certes mais dans ce cas, c'est dommage de ne pas utiliser le type uid.

                          Enfin si cela te convient.

                          Bye

                          • Partager sur Facebook
                          • Partager sur Twitter
                            17 février 2023 à 19:38:29

                            Juste à cause d'une représentation bizarre ne pas utilisé le type adéquat c'est ..., enfin bref si ça te convient pour le moment :)
                            • Partager sur Facebook
                            • Partager sur Twitter

                            requête avec une propriété uuid

                            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                            • Editeur
                            • Markdown