Le 14 septembre 2017, nous avons publié une version actualisée de notre Politique de confidentialité. En utilisant video2brain.com vous vous engagez à respecter ces documents mis à jour. Veuillez donc prendre quelques minutes pour les consulter.

Découvrir API Platform

Créer un objet lié

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Pour couvrir tous les cas possibles, ajoutez un nouvel objet et créez une relation simple avec Doctrine.
04:19

Transcription

Alors on a un objet « task » mais moi, j’aimerais bien qu’on ait un objet « user » également qui va nous permettre d’avoir plusieurs tâches pour un utilisateur. En fait, si vous reprenez l’exemple que vous avez là et si vous ne connaissez pas encore trop « Doctrine », vous avez un très bon exemple qui est la première entité qui est présentée ici où vous avez « Product » et puis vous avez ensuite ici « Offer », d’accord ? Et on a en dessous ici une description, une liaison avec le produit et c’est un « ManyToOne ». Donc concrètement, on peut avoir plusieurs offres pour un produit. Nous en l’occurrence, ça va être plusieurs tâches pour un utilisateur. Donc ça ressemble un petit peu. Je vous renvoie également vers la documentation de « Doctrine » sur les associations. Il suffira simplement de taper « doctrine relation » ou « doctrine association » pour tomber sur cette petite documentation. Vous taperez ça dans Google. Et vous allez voir ici tous les types qu’on a à disposition : les « ManyToOne », d’accord ? Les « ManyToMany », les « OneToOne », les « OneToMany », etc. Donc là, il y a vraiment absolument tous les types disponibles et vous pourrez utiliser absolument les mêmes annotations. Alors attention cependant à bien utiliser ici en préfixe, par exemple d’une « ManyToOne » et qui est défini comme ça dans « Doctrine », cette annotation-là, le « @ORM ». On en a besoin nous, parce que sous Symfony dans nos entités, on a dit effectivement que « Doctrine\ORM\Mapping », c’était « as ORM », c’est le « mapping » qui est comme ça. Donc on est obligé d’utiliser « @ORM » pour aller récupérer le « mapping ». Maintenant que vous savez ça, il va falloir d’abord créer cette entité. Vous vous souvenez de la création d’entité ? C’est « generate entity ». Donc là on va créer une entité, on se souvient aussi qu’on a un « AppBundle », ok ? Et notre entité, on va l’appeler « User ». On va garder de l’annotation, on sait que notre « User », il va avoir ici, pourquoi pas, un « firstname », là une « string », ok, un « lastname » et pour le moment, c’est tout ce qu’on veut. Donc « Entrée » et puis on a ici la nouvelle entité qui est créée. Maintenant, il faut la relier. Alors je suis désolé mais la liaison ne pourra pas se faire en génération, il faut le faire un peu à la main ça. Donc on va aller ouvrir notre entité qui va se trouver ici dans « src », « AppBundle », « Entity » et on va prendre le « User ». Et on va lui rajouter ici à ce « User », les différentes tâches possibles. Alors on sait comme on l’a vu ici que c’est l’offre qui va avoir la « ManyToOne ». Donc pour nous, on va récupérer toute cette annotation et on va simplement la mettre sur les tâches. Donc dans « Task », on sait qu’il va y avoir plusieurs tâches pour un utilisateur, c’est lui qui va référencer « Utilisateur ». « ManyToOne » vers « User » comme ça et on va avoir une propriété « User ». Alors attention, ce serait bien quand même aussi de pouvoir avoir des « setters » et des « getters ». Ce que vous allez faire, c’est que vous allez vous mettre tout en bas ici et vous allez regarder dans votre menu ici. Vous allez avoir la possibilité de générer, de faire des générations avec le menu « Generate ». En faisant « Generate » ici, vous allez pouvoir aussi utiliser « Getters and Setters » pour lui dire que pour la propriété « User » qu’on vient de créer, on veut générer les « Getters » et les « Setters ». Et là vous voyez que, hop, ça va automatiquement vous générer le code. Ne vous embêtez pas à faire ça à la main. Il y a des générateurs pour le faire, ce n’est pas un problème. Alors attention cependant parce que ça veut dire qu’il va falloir mettre le schéma à jour. Comment on fait pour mettre le schéma à jour ? D’abord on vérifie bien que tout est enregistré et dans notre terminal ici, on va le nettoyer avec « clear » et on va utiliser « ./bin/console » et « doctrine:schema » et « update ». En faisant ça, on va vous demander de forcer la commande, pourquoi ? Parce que vous allez faire une mise à jour du schéma, il faut le forcer, il ne vous le mettra pas d’origine. Il faudra ajouter un « --force » pour lancer la mise à jour du schéma. Vous pourrez ensuite aller regarder bien sûr et bien directement ici en base de données si vous avez bien les informations. Il faudra recharger pour voir qu’effectivement ici, on a bien les « users » et regardez, c’est magique, on a aussi le « user_id » qui vient d’apparaitre et qui donc maintenant est disponible sur nos entités. On a la possibilité maintenant de travailler avec ces informations-là.

Découvrir API Platform

Prenez en main le framework API Platform. Voyez comment effectuer sa configuration, créer des services web de données, et réalisez ainsi efficacement une application complète.

3h24 (54 vidéos)
Aucun commentaire n´est disponible actuellement
 

Votre formation est disponible en ligne avec option de téléchargement. Bonne nouvelle : vous ne devez pas choisir entre les deux. Dès que vous achetez une formation, vous disposez des deux options de consultation !

Le téléchargement vous permet de consulter la formation hors ligne et offre une interface plus conviviale. Si vous travaillez sur différents ordinateurs ou que vous ne voulez pas regarder la formation en une seule fois, connectez-vous sur cette page pour consulter en ligne les vidéos de la formation. Nous vous souhaitons un excellent apprentissage avec cette formation vidéo.

N'hésitez pas à nous contacter si vous avez des questions !