Zauważyłem, że metoda Model.where
zawsze zwraca tablicę, nawet jeśli istnieje tylko jeden wynik, gdy metoda Model.find
nie. Czy jest jakikolwiek powód? Myślałem, że Model.where
była preferowaną funkcją od Rails 3.X.Szyny .where vs .find
Czy powinienem używać Model.find
, gdy oczekuję pojedynczego wyniku i Model.where
, gdy oczekuję więcej niż jednego wyniku?
myślę, że 'find' może wrócić kilka obiektów w tablicy - spróbuj' User.find [1,2,3 ] '(znajduje użytkowników z identyfikatorami 1, 2 i 3) ... ale tak sądzę Andrew ma rację co do reszty – klump
@klump Yup, może, ale' User.where (id: [1, 2, 3]) 'jest w tym przypadku preferowane, więc nawet o tym nie pomyślałem. Jak zwykle polecam lekturę dokumentacji API (z którą mam link w mojej odpowiedzi), ponieważ zapewnia najwięcej szczegółów. –
Ale '.find (: all, ...)' zwraca tablicę. Jaka jest różnica między znalezieniem a miejscem? – highBandWidth