Ruby on Rails - Finders
A seguir estão as maneiras de descobrir registros com e sem condições -
A seguir encontrará um autor com ID 50.
Author.find(50)
A seguir encontrarão autores com ID 20, 30 e 40.
Author.find([20,30, 40])
A seguir encontrará todos os autores -
Author.find :all
A seguir encontrará todos os autores com nome próprio alam .
Author.find :all
:condition => ["first_name =?", "alam" ]
A seguir encontrará o primeiro registro dos autores com o primeiro nome alam .
Author.find :first
:condition => ["first_name =?", "alam" ]
Opções para localizadores
Você pode usar a seguinte opção junto com find função.
:order => 'name DESC' Use esta opção para classificar o resultado em ordem crescente ou decrescente.
:offset => 20 Começa a buscar registros do deslocamento 20.
:limit => 20 Retorna apenas 20 registros.
:group => 'name' Isso é equivalente ao fragmento sql GROUP BY.
:joins => LEFT JOIN ...' LEFT JOIN adicional (raramente usado).
:include => [:account, :friends] Este é o LEFT OUTER JOIN com esses modelos.
:select => [:name, :address] Use isto em vez de SELECT * FROM.
:readonly => true Use isto para tornar os objetos protegidos contra gravação.
Localizadores baseados em atributos dinâmicos
Você pode usar funções mais dinâmicas para buscar valores.
Se houver um campo user_name, então você pode usar o seguinte para localizar registros por nome de usuário.
Person.find_by_user_name(user_name)
Se houver um campo last_name, então você pode usar o seguinte para localizar registros pelo sobrenome.
Person.find_all_by_last_name(last_name)
Se houver campos user_name e password, então você pode usar o seguinte para localizar um registro para um determinado nome de usuário e senha.
Person.find_by_user_name_and_password(user_name, password)