Créer un gestionnaire de collections avec Symfony3

Supprimer un objet en base de données

TESTEZ LINKEDIN LEARNING GRATUITEMENT ET SANS ENGAGEMENT

Tester maintenant Afficher tous les abonnements
Les opérations de suppression et de modification existent au sein de Doctrine. Voyez comment les effectuer sur votre entité.
05:10

Transcription

On va voir comment supprimer, on va voir comment mettre à jour, mais j'attire votre attention, c'est bizarre, quand je vais sur un dev.php ici je me rencontre que j'ai tout ce qu'il faut, ça fonctionne bien, voilà. Mais si je me rends regarder même sur le slache, comme ça, je perds les informations, je perds les informations, le design. Je vous explique ce qu'il se passe. Ici on a défini des basses, comme ça, il faut les définir avec un slache, il faut absolument que ça soit à la racine du site. Si non, vous allez perdre les informations, donc faites très attention à ça, c'est important. Maintenant passons à la liste des Items, si je vais sur Items, pour les voir, c'est bon, ça fonctionne, mais si je veux les supprimer, comment je vais faire, bah je vais câbler de nouvelles actions, tout simplement. On va ici, refaire à peu près la même chose que cette Route-là, on va faire removeAction, pour supprimer, on va l'appeler item/remove, et puis l'id, et ici on va l'appeler removeItem et c'est bon. Une fois qu'on a ça, c'est déjà pas mal, on est presque bon, mais il va quand même falloir supprimer l'Entité. Or comment on va faire pour supprimer l'Entité ? Est-ce qu'on fait ah, une flèshe sur Item ? Non c'est pas possible, Est-ce qu'on va utiliser Repository ? Non, bien sûr no Repository, souvenez-vous, ça ne sert qu'à faire des requêtes. Alors, comment on va travailler ? Mais on va travailler comme on travaillait au début, c'est à dire avec l'Entity Manager. On va récupérer notre Entity Manager, on va le câbler ici et on va quand même devoir récupérer l'Item, bien sûr, ah, aussi. Donc il va falloir forcement récupérer deux informations. Je vous conseille du coup de mettre Doctrine dans une variable, comme ça, et de réutiliser ce getDoctrine, qu'on a là, pour lui dire DoctrinegetManager et comme ça DoctrinegetRepository. Ça fera quelque chose de plus propre. Vous récupérez l'Item, quand vous l'avez récupéré vous le supprimez. Donc ici on va utiliser une méthode, qui s'appelle Remove, qui nous permet de supprimer quelque chose, c'est à dire l'Item au question. Donc on va supprimer l'Item et on va flusher. Ici on va donc préparer l'information et ensuite on va flusher. Mais qu'est-ce qu'on fait derrière ? Est-ce que sur cette action on a une page qui s'affiche ? Non, sur cette action, on va vouloir une Route directe. Donc on va utiliser une méthode du contrôleur, qui va nous permettre de faire une rediréction. Et ces Redirects, alors, on a deux Redirect, vers url et redirectToRout vers Rout. Si je lui dis redirectToRout, ce qui est bien, c'est que je peut lui donner vraiment une route finale, et la Route Finale, ça sera le nom de la Route. Qu'est-ce qu'on va mettre ? Là on va mettre tout simplement Items, comme ça, on redirige vers Items une fois que c'est terminé. Pensez que RedirectToRoute ou rendeurs ce sont des réponses valides, ah, pour on contrôleur, à la fin de contrôleur il faut toujours une résponse et ça ça générera une réponse. Ce qui est bien c'est qu'on n'a pas besoin de passer par redirect et par le générateur de URL, tout est fait dans la méthode Proxy, redirecteToRout, ce qui est beaucoup plus intéressant pour moi. Bon, maintenant qu'on a ça, il va bah falloir le câbler, et le câbler vous savez déjà faire en réalité, puisque dans la liste on va pouvoir simplement rajouter un lien en plus ici. On va venir mettre un petit by, puis on va rajouter ici, ça va pas être oneItem, mais ça va être removeItem, comme ça, et là on va lui mettre un Item Id, et on va lui dire ici Remove, tout simplement. On va recharger cette page, on a maintenant le lien Remove qui apparaît, ce qui fait qu'on peut maintenant supprimer. Et vous remarquerez en cliquant que vous serez redirigé directement sur la page. Alors, la soucis de la redirection, c'est que vous n'allez pas voir ce qu'il va se passer pendant l’appel. Sachez qu'il est possible tout à fait un environnement dévuniquement, c'est à dire sur le web dev.php de bloquer les redirections, les intersepter. Il suffira dans la config, App Config, config_dev.yml de passer ce paramètre à true, ce qui vous permettra, quand vous avez une redirection et bien d’intersepter et de voir ce qu'il se passe. Ici on peut avoir les Requêtes en base de données, qui sont effectués, effectivement on a bien un Delete ici qui base. Si vous ne mettez pas ce paramètre-là, vous ne verrez pas ce qu'il se passe, donc pensez-y ça peut être très intéressant, quand vous utilisez les redirections. Si on va améliorer un peu le barre flpe, on pourrait aussi se dire que quand j'ai ajouté ici via la page d'ajout avec addAction et bien s'est passé, le formulaire est terminé à la fin, ici on pourrait faire un return thisredirectToRoute, item également, pour dire que quand j'ai ajouté un item, je suis redirigé automatiquement vers la page et bien de la liste des Items. On peut essayer ah, on va aller dans Item tout simple, on va simplement mettre des informations, comme ça, et on va soumettre, et effectivement on va être dirigé, ce qui est quand même plus intéressant de se faire rediriger à chaque fois ça va donner un petit peu plus de bunche à votre interface, que si vous faites simplement un affichage du formulaire ou vous si vous voulez cacher qu'un message. Pensez à la redirection, c'est une bonne chose.

Créer un gestionnaire de collections avec Symfony3

Développez une application de gestion de ressources avec Symfony. Prenez en main le DQL (Doctrine Query Language) ainsi que les formulaires, la sécurité, les tests, etc.

2h12 (25 vidéos)
Aucun commentaire n´est disponible actuellement
 
Logiciel :
Spécial abonnés
Date de parution :19 avr. 2016

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 !