Me he dado cuenta de que el método Model.where
siempre devuelve una matriz, incluso si solo hay un resultado donde no lo hace el método Model.find
. Hay alguna razón para esto? Pensé que Model.where
era la función preferida desde Rails 3.X.Rails .where vs .find
¿Debo utilizar Model.find
cuando espero un único resultado y Model.where
cuando espero más de un resultado?
pienso que 'find' puede devolver varios objetos en una matriz - tratar' User.find [1,2,3 ] '(encuentra usuarios con ids 1, 2 y 3) ... pero sí, supongo que andrew tiene razón sobre el resto – klump
@klump Sí, puede, pero' User.where (id: [1, 2, 3]) 'es preferido en ese caso, así que ni siquiera lo consideré. Como siempre, recomiendo leer la documentación de la API (a la que me he vinculado en mi respuesta), ya que proporciona la mayor cantidad de detalles. –
Pero '.find (: all, ...)' devuelve una matriz. Entonces, ¿cuál es la diferencia entre encontrar y dónde? – highBandWidth