Obtention des livres avec des données d’auteur manquantes
Vidéo de démonstration Trail Together
Vous souhaitez être guidé pas à pas par un expert pendant que vous travaillez sur cette étape ? Regardez cette vidéo qui fait partie de la série Trail Together.
(Ce clip commence à 10 min 53 s, au cas où vous voudriez revenir en arrière et regarder à nouveau le début de l’étape.)
Introduction
L’équipe de Books4Everyone a récemment découvert qu’il n’y a pas d’auteur répertorié pour de nombreux livres. Elle souhaite ajouter un composant en bas à droite de la page d’accueil pour s’assurer que ces livres peuvent être mis à jour rapidement. Comme précédemment, elle vous fournit le code SQL.
Écriture d’une anti-jointure droite
Voici la requête SQL qu’elle vous a donnée.
SELECT Name, Description FROM Book WHERE Author IS NULL
Vous savez qu’en SOQL, elle s’écrit comme suit.
SELECT Name, Description__c FROM Book__c WHERE Author__c = null
Écriture du code Apex et du nouveau composant
Maintenant, ajoutez la requête SOQL au contrôleur Apex.
- Dans la Developer Console, ouvrez la classe Apex Books4EveryoneHomeController.
- Ajoutez le bloc de code suivant après la première méthode.
@AuraEnabled public static List<Book__c> getBooksWithoutAuthors(){ return [SELECT Name FROM Book__c WHERE Author__c = null]; }
Encore une fois, créez un composant Lightning pour la page d’accueil.
- Fermez tous les onglets ouverts dans la Developer Console, puis choisissez File (Fichier) > New (Nouveau) > Lightning Component (Composant Lightning).
- Nommez votre nouveau composant Lightning
Books4EveryoneMissingAuthors
(RecommandationsBooks4Everyone). - Dans la section de configuration du composant, sélectionnez Lightning Page (Page Lightning) et cliquez sur Submit (Soumettre).
- Remplacez le code du fichier .cmp par le code suivant :
<aura:component implements="flexipage:availableForAllPageTypes" access="global" controller="Books4EveryoneHomeController"> <aura:attribute name="Books" type="Book__c" /> <aura:handler name="init" action="{!c.doInit}" value="{!this}"/> <lightning:card title="Books4Everyone Missing Author List"> <aura:set attribute="body"> <table class="slds-table slds-table_bordered slds-table_cell-buffer"> <thead> <tr class="slds-text-title_caps"> <th scope="col">Book Title</th> </tr> </thead> <tbody> <aura:iteration items="{!v.Books}" var="books"> <tr scope="row"> <td> {!books.Name}</td> </tr> </aura:iteration> </tbody> </table> </aura:set> </lightning:card> </aura:component>
- Cliquez sur Controller (Contrôleur) sur le côté droit de la page afin de créer un contrôleur pour votre composant.
- Remplacez le code JavaScript du contrôleur par le code suivant.
({ doInit: function(component, event, helper) { var action = component.get("c.getBooksWithoutAuthors"); action.setCallback(this, function(data) { component.set("v.Books", data.getReturnValue()); console.log(data.getReturnValue()); }); $A.enqueueAction(action); } })
- Enregistrez tous les onglets ouverts.
Résultat généré par le composant
La dernière étape consiste à s’assurer que la requête a fonctionné comme prévu en ajoutant le composant à la page d’accueil.
- Dans votre organisation, accédez à l’application Books4Everyone.
- Cliquez sur Home (Accueil).
- Dans le coin supérieur droit, cliquez sur et sélectionnez Edit Page (Modifier la page).
- Sur le côté gauche du générateur d’application Lightning, recherchez Books4EveryoneMissingAuthors (RecommandationBooks4Everyone) dans la liste des composants personnalisés.
- Faites glisser le composant dans le panneau situé en haut à droite de la page.
- Cliquez sur Save (Enregistrer), puis sur pour revenir à la page d’accueil.
- La dernière étape consiste à vérifier les données sur la page d’accueil. La page doit se présenter comme suit :