Ofereço ajuda em Java, C/C++, Python, C#, LISP, AutoLisp, AutoCAD
+55 (062) 98553-6711
Ofereço ajuda em PHP, Python, C#, JavaScript, Laravel, Google Ads e SEO
+55 (062) 98243-1195

Você está aqui: Ruby On Rails ::: Dicas & Truques ::: Active Record

Usando os métodos find(), first() e last() para retornar o primeiro ou último registro em um conjunto de registros retornados

Quantidade de visualizações: 14693 vezes
Em algumas situações nós estamos interessados apenas no primeiro ou último registro de um conjunto de registros retornados. Para esta finalidade, a classe ActiveRecord::Base nos fornece versões modificadas do método find(). São elas: find(:first) e find(:last). Estas duas versões aceitam ainda algumas opções de parâmetros. Na ausência de tais parâmetros, uma query SELECT * FROM é assumida.

Veja um trecho de código no qual obtemos o primeiro registro de um conjunto contendo todos os registros da tabela. Note que aqui não temos controle sobre a ordem na qual os registros são retornados:

class CadastroController < ApplicationController
  def cadastrar
    # vamos obter o livro com o id 2
    begin
      # vamos obter o primeiro livro em uma query
      # SELECT * FROM livros
      livro = Livro.find(:first)

      # encontramos algum livro?
      if not livro.nil?


O mesmo resultado poderia ser obtido com:

livro = Livro.find(:first, :order => "id")

Aqui nós apenas adicionamos a opção :order para informar que queremos que os registros retornados estejam ordenados por id e em ordem ascendente. Veja esta nova versão:

condicao = "%Java%"
livro = Livro.find(:first, :conditions => ["titulo LIKE :condicao",
{:condicao => condicao}], :order => "id")

Esta nova versão do método find() já é um pouco mais elaborada. Aqui apenas os livros que contenham a palavra "Java" em seus títulos serão retornados. O mesmo resultado pode ser conseguido usando o método first(). Veja:

condicao = "%Delphi%"
livro = Livro.first(:conditions => ["titulo LIKE :condicao",
{:condicao => condicao}], :order => "id")

Os métodos find(:last) e last() retornam resultados semelhantes, exceto que agora o registro retornado é o último do conjunto de registros obtidos.

Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de Ruby On Rails

Dicas e truques de outras linguagens

E-Books em PDF

E-Book 350 Exercícios Resolvidos de Java - PDF com 500 páginas
Domine lógica de programação e a linguagem Java com o nosso E-Book 350 Exercícios Exercícios de Java, para você estudar onde e quando quiser.

Este e-book contém exercícios resolvidos abrangendo os tópicos: Java básico, matemática e estatística, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book
E-Book 650 Dicas, Truques e Exercícios Resolvidos de Python - PDF com 1.200 páginas
Domine lógica de programação e a linguagem Python com o nosso E-Book 650 Dicas, Truques e Exercícios Exercícios de Python, para você estudar onde e quando quiser.

Este e-book contém dicas, truques e exercícios resolvidos abrangendo os tópicos: Python básico, matemática e estatística, banco de dados, programação dinâmica, strings e caracteres, entrada e saída, estruturas condicionais, vetores e matrizes, funções, laços, recursividade, internet, arquivos e diretórios, programação orientada a objetos e muito mais.
Ver Conteúdo do E-book

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 31 usuários muito felizes estudando em nosso site.