Skip to main content

Exibir livros com seus autores

Nota

Nota

Deseja aprender em português (Brasil)? Comece o desafio em um Trailhead Playground de português (Brasil) e use as traduções fornecidas entre parênteses para navegar. Copie e cole somente os valores em inglês porque as validações dos desafios dependem de dados em inglês. Se você não passar no desafio em sua organização de português (Brasil), recomendamos que (1) mude o local para os Estados Unidos, (2) mude o idioma para inglês, seguindo as instruções aqui, e (3) clique novamente no botão “Validar o desafio”.

Consulte o emblema Trailhead no seu idioma para saber mais sobre como aproveitar a experiência de Trailhead em outros idiomas.

Acompanhar com o Trail Together

Deseja acompanhar um especialista enquanto trabalha nesta etapa? Veja este vídeo que faz parte da série Trail Together.

(Este clipe começa na marca dos 06:52 minutos, caso você queira retroceder e ver o início da etapa novamente.)

Introdução

Nesta etapa, você continuará a criar a página inicial perfeita da Books4Everyone. Eles amam o fato de poder exibir títulos de livro na página inicial e deram ideias sobre outras informações que eles gostariam de mostrar. O desenvolvedor deu a você algumas novas ideias do que eles gostariam de ver na página inicial.

Entender o funcionamento dos relacionamentos no Salesforce

Em SOQL, usamos consultas de relacionamento para obter os mesmos dados que você obteria de um join em SQL. Só podemos fazer isso se os dois objetos de consulta tiverem relação. Felizmente, o pacote Books4Everyone já criou todas as relações de que precisamos. 

Vamos criar algumas dessas consultas de relacionamento para preparar a solicitação definitiva da Books4Everyone. Para testar cada consulta, vamos ter que atualizar nossa classe do Apex e nosso componente do Lightning.

Criar um right outer join

  1. Abra o Developer Console e a classe do Apex Books4EveryoneHomeController.
  2. Adicione o seguinte bloco de código depois do primeiro método.
      @AuraEnabled
      public static List<Book__c> getBooksAndAuthor() {
        return; //Your Query here!
      }
    Veja a primeira consulta sugerida pela Books4Everyone.
    SELECT a.Name, b.Name, b.Description
      FROM Author a
      RIGHT JOIN Book b ON (b.Author=a.Name)
    Em SOQL, escrevemos assim.
    SELECT Name, Description__c, Author__r.Name
      FROM Book__c
  3. Adicione a nova consulta SOQL ao seu método. Ele deve ficar assim.
      @AuraEnabled
      public static List<Book__c> getBooksAndAuthor() {
        return [SELECT Name, Description__c, Author__r.Name
          FROM Book__c];
      }
    Agora, vamos atualizar nosso componente do Lightning home page.
  4. No Developer Console, abra o componente do Lightning Books4EveryoneHome.
  5. Atualize a tabela para ficar assim.
          <table class="slds-table slds-table_bordered slds-table_cell-buffer">
            <thead>
              <tr class="slds-text-title_caps">
                <th scope="col">Book Titles</th>
                <th scope="col">Book Descriptions</th>
                <th scope="col">Author</th>
              </tr>
            </thead>
            <tbody>
              <aura:iteration items="{!v.Books}" var="books">
                <tr scope="row">
                  <td> {!books.Name}</td>
                  <td> {!books.Description__c}</td>
                  <td> {!books.Author__r.Name}</td>
                </tr>
              </aura:iteration>
            </tbody>
          </table>
  6. Abra o arquivo JavaScript Books4EveryoneHomeController e atualize a ação para chamar nossa nova função.
        var action = component.get("c.getBooksAndAuthor");
    O código do controlador agora deve ficar assim.
    ({
      doInit: function(component, event, helper) {
        var action = component.get("c.getBooksAndAuthor");
        action.setCallback(this, function(data) {
          component.set("v.Books", data.getReturnValue());
          console.log(data.getReturnValue());
        });
        $A.enqueueAction(action);
      }
    })
  7. Salve todos os arquivos e atualize a página.

Essa é uma imagem que mostra a guia inicial e o componente do Lightning atualizado com dados de consulta SOQL

Compartilhe seu feedback do Trailhead usando a Ajuda do Salesforce.

Queremos saber sobre sua experiência com o Trailhead. Agora você pode acessar o novo formulário de feedback, a qualquer momento, no site Ajuda do Salesforce.

Saiba mais Continue compartilhando feedback