Skip to main content

Obtention des livres avec des données d’auteur manquantes

Remarque

Remarque

Vous souhaitez apprendre en français ? Commencez le défi dans un Trailhead Playground en français et utilisez les traductions fournies entre crochets pour naviguer. Copiez et collez uniquement les valeurs en anglais, car les validations de défi reposent sur les données en anglais. Si vous ne réussissez pas le défi dans votre organisation en français, nous vous recommandons (1) de définir le paramètre régional sur les États-Unis, (2) de définir la langue sur l’anglais en suivant les instructions ici, puis (3) de cliquer à nouveau sur le bouton « Vérifier le défi ».

Consultez le badge Trailhead dans votre langue pour découvrir comment profiter de l’expérience Trailhead traduite.

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. 

  1. Dans la Developer Console, ouvrez la classe Apex Books4EveryoneHomeController.
  2. 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. 

  1. Fermez tous les onglets ouverts dans la Developer Console, puis choisissez File (Fichier) > New (Nouveau) > Lightning Component (Composant Lightning).
  2. Nommez votre nouveau composant Lightning Books4EveryoneMissingAuthors (RecommandationsBooks4Everyone).
  3. Dans la section de configuration du composant, sélectionnez Lightning Page (Page Lightning) et cliquez sur Submit (Soumettre).
  4. 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>
  5. Cliquez sur Controller (Contrôleur) sur le côté droit de la page afin de créer un contrôleur pour votre composant.
  6. 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);
      }
    })
  7. 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.

  1. Dans votre organisation, accédez à l’application Books4Everyone.
  2. Cliquez sur Home (Accueil).
  3. Dans le coin supérieur droit, cliquez sur Configuration et sélectionnez Edit Page (Modifier la page).
  4. Sur le côté gauche du générateur d’application Lightning, recherchez Books4EveryoneMissingAuthors (RecommandationBooks4Everyone) dans la liste des composants personnalisés.
  5. Faites glisser le composant dans le panneau situé en haut à droite de la page.
  6. Cliquez sur Save (Enregistrer), puis sur Retour pour revenir à la page d’accueil.
  7. La dernière étape consiste à vérifier les données sur la page d’accueil. La page doit se présenter comme suit :

Image montrant l’onglet d’accueil et les trois composants Lightning avec des données interrogées par SOQL

Partagez vos commentaires sur Trailhead dans l'aide Salesforce.

Nous aimerions connaître votre expérience avec Trailhead. Vous pouvez désormais accéder au nouveau formulaire de commentaires à tout moment depuis le site d'aide Salesforce.

En savoir plus Continuer à partager vos commentaires