2012-06-29 2 views
1

У меня есть своя запись в моей базе данных, в которой все имеют одинаковое название, но разные местоположения. Как только я фильтруюсь по границе местоположения, я хочу отфильтровать те же Название. Есть ли способ ActiveRecord для этого? Я знаю о select, но это только вернет названия, и мне действительно нужна вся запись.Получить модели с отличным атрибутом ActiveRecord

Итак, у меня есть бизнес, имеющий название. Если я выберу все предприятия на заданной границе lat/long, будут возвращены несколько экземпляров с тем же именем (например, Subway). Я хочу ограничить результат до 10.

По-английски: Учитывая десять записей (вся запись, а не только определенные столбцы), где каждый титул уникален среди десяти возвращенных.

+0

ли вы имеете в виду, как в find_by_location? – thisfeller

+0

Учитывая несколько записей с тем же «заголовком», который вы бы хотели выбрать? –

+0

В этом случае это не имеет значения. Любой из них (сначала может быть проще). – Chris

ответ

0

Вы можете просто использовать .first, т.е.

Venue.where(name: "Subway").first 

Если вам нужно больше чем один элемент, сначала передать параметр:

Venue.where(name: "Subway").first(10) 

Для того, чтобы выбрать одну запись каждого отдельного значения в некотором столбце, вы можете использовать .group("column_name"):

Venue.where(some_condition).group("name") 
+0

Мне нужно 10 мест с уникальными именами, а не 10 с одним именем. – Chris

+0

обновил мой ответ –

+0

Как бы вы установили это с помощью: id? У меня есть индексная страница видео, и каждый из них принадлежит режиссеру. Я хочу, чтобы на странице индекса отображалось одно видео на одного директора. Старался часами. Любая помощь ценится! –

0

ModelName.where(title: "Building")

Если вы дать более конкретный вопрос, я приведу более конкретный ответ ...

+0

Пробовал быть более конкретным. У меня есть несколько записей с одним и тем же названием, но мне нужна только одна запись за каждое название. – Chris

+0

пытается сделать то же самое, но с: id ... –

Смежные вопросы