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 retornadosQuantidade 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. |
![]() |
Veja mais Dicas e truques de Ruby On Rails |
Dicas e truques de outras linguagens |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |