Skip to main content

Obter livros com dados de autor em falta

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 10:53 minutos, caso você queira retroceder e ver o início da etapa novamente.)

Introdução

A Books4Everyone descobriu recentemente que tem vários livros sem autores listados. Eles querem um componente no canto inferior direito da página inicial para garantir que esses livros serão atualizados rapidamente. Desta vez, eles também forneceram uma consulta SQL.

Criar um right anti join

Veja a consulta SQL que eles forneceram.

SELECT Name, Description
  FROM Book
  WHERE Author IS NULL

Você sabe que em SOQL vamos escrever assim:

SELECT Name, Description__c
  FROM Book__c
  WHERE Author__c = null

Criar Apex e o novo componente

Agora, adicione a consulta SOQL ao controlador do Apex. 

  1. No Developer Console, abra a classe do Apex Books4EveryoneHomeController.
  2. Adicione o seguinte bloco de código depois do primeiro método.
      @AuraEnabled
      public static List<Book__c> getBooksWithoutAuthors(){
        return [SELECT Name
          FROM Book__c
          WHERE Author__c = null];
      }

Mais uma vez, crie um novo componente do Lightning para a página inicial. 

  1. Feche as guias que possam estar abertas no Developer Console e selecione File (Arquivo) > New (Novo) > Lightning Component (Componente do Lightning).
  2. Dê ao seu novo componente do Lightning o nome de Books4EveryoneMissingAuthors.
  3. Na seção de configuração do componente, selecione Lightning Page (Página do Lightning) e clique em Submit (Enviar).
  4. Substitua o código no arquivo .cmp por este código:
    <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. Clique em Controller (Controlador) no lado direito da página a fim de criar um controlador para seu componente.
  6. Substitua o JavaScript do controlador pelo código a seguir.
    ({
      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. Salve todas as suas guias abertas.

Vejamos como esse componente funciona na prática!

Nossa etapa final é garantir que a consulta funcionou como esperado adicionando nosso componente à página inicial.

  1. Na sua organização, navegue até o aplicativo Books4Everyone.
  2. Clique em Home (Início).
  3. No canto superior direito, clique em Configuração e selecione Edit Page (Editar página).
  4. No lado esquerdo do criador de aplicativo Lightning, encontre Books4EveryoneMissingAuthors na lista de componentes personalizados.
  5. Arraste o componente até o painel do canto superior direito na página.
  6. Clique em Save (Salvar) e em Voltar para retornar à página inicial.
  7. A etapa final é verificar os dados na sua página inicial. Ela deverá ficar mais ou menos assim:

Essa é uma imagem que mostra a guia inicial e três componentes do Lightning 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