Ruby on Rails - Buscadores
Las siguientes son las formas de encontrar registros con y sin condiciones:
A continuación, encontrará un autor con ID 50.
Author.find(50)
A continuación se encuentran autores con ID 20, 30 y 40.
Author.find([20,30, 40])
A continuación se encuentran todos los autores:
Author.find :all
A continuación se encuentran todos los autores con nombre alam .
Author.find :all
:condition => ["first_name =?", "alam" ]
A continuación encontrará el primer registro de los autores con nombre alam .
Author.find :first
:condition => ["first_name =?", "alam" ]
Opciones para buscadores
Puede utilizar la siguiente opción junto con find función.
:order => 'name DESC' Utilice esta opción para ordenar el resultado en orden ascendente o descendente.
:offset => 20 Comienza a buscar registros desde el desplazamiento 20.
:limit => 20 Devuelve solo 20 registros.
:group => 'name' Esto es equivalente al fragmento de sql GROUP BY.
:joins => LEFT JOIN ...' LEFT JOIN adicional (rara vez se usa).
:include => [:account, :friends] Esta es la UNIÓN EXTERIOR IZQUIERDA con este modelo.
:select => [:name, :address] Use esto en lugar de SELECT * FROM.
:readonly => true Use esto para hacer que los objetos estén protegidos contra escritura.
Buscadores dinámicos basados en atributos
Puede utilizar funciones más dinámicas para obtener valores.
Si hay un campo user_name, luego puede usar lo siguiente para buscar registros por nombre de usuario.
Person.find_by_user_name(user_name)
Si hay un campo last_name, luego puede usar lo siguiente para buscar registros por apellido.
Person.find_all_by_last_name(last_name)
Si hay campos user_name y password, luego puede usar lo siguiente para buscar un registro para un nombre de usuario y contraseña determinados.
Person.find_by_user_name_and_password(user_name, password)