Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

apiPlatform et prepersist


Sujet :

Symfony PHP

  1. #1
    Responsable LaTeX

    apiPlatform et prepersist
    Bonjour,
    j'ai donc un API via apiplatform et mon soucis est pour les requètes post. La requete fonctionne lorsque je rempli le createdAt.
    Je ne souhaite bien evidement pas à avoir à remplir cette donnée. j'ai mis en place la fonction suivante dans ma classe :
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
      /**
         *
         * @ORM\PrePersist
         * @ORM\PreUpdate
         *
         * @return void
         * @throws \Exception
         */
        public function initializeCreatedAt()
        {
            if(empty($this->createdAt)){
                $this->createdAt = new \DateTime('now');
            }
        }


    Mais la date n'est pas renseignée lorsque j'envoie ma requete post. Il y a t il un methode particulière avec ApiPlatform, j'ai regardé la doc mais pas vu ou alors pas compris
    D'avance merci
    Développeur Web freelance : http://www.ls-web.fr

  2. #2
    Membre éprouvé
    bonsoir,

    les événements doctrine devraient continuer à fonctionner même avec api platform.



    /**
    *
    * @ORM\PrePersist
    * @ORM\PreUpdate
    *
    * @return void
    * @throws \Exception
    */
    public function initializeCreatedAt()
    {
    if(empty($this->createdAt)){
    $this->createdAt = new \DateTime('now');
    }
    }
    Ton annotation n'est pas valide elle apparaît comme un simple commentaire.
    Exemple d'une annotation valide:
    Code :Sélectionner tout -Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
        /**
         *
         * @ORM\PrePersist
         * @ORM\PreUpdate
         *
         * @return void
         * @throws \Exception
         */
        public function initializeCreatedAt()
        {
            if(empty($this->createdAt)){
                $this->createdAt = new \DateTime('now');
            }
        }

    https://symfony.com/doc/current/doct...ycle-callbacks

  3. #3
    Responsable LaTeX

    Mon indentation était bonne, mais ton intervention à eu le mérite de me remettre le lien vers la doc que je n'avais jugé bon de relire
    J'ai tout simplement oublié le @ORM\HasLifecycleCallbacks()
    Merci
    Développeur Web freelance : http://www.ls-web.fr