Подтвердить что ты не робот

Получение только определенных столбцов с Rails 3, где пункт

Не уверен, почему я не могу понять, как это сделать легко... Очевидно, я мог бы сделать это с использованием сырого SQL, но я пытаюсь ознакомиться с ActiveRecord.

results = Model.where(:lat => (south..north), :lng => (east..west))

Мне не нужны все поля, всего несколько. Как ограничить результаты только включением столбцов, которые я выбираю?

4b9b3361

Ответ 1

results = Model.where(:lat => (south..north), :lng => (east..west)).select([:lat, :long, :id])

Вероятно, вы также захотите включить :id, в котором выберите, хотите ли вы, чтобы ваши результаты отображались как разумные объекты ActiveRecord.

Изменить: выбор принимает один аргумент, может быть массивом.

Ответ 3

Технически, если вы хотите повторно использовать фильтр подмножества данных для моделей readonly, вы можете создать "представление" на уровне базы данных. См. http://dev.mysql.com/doc/refman/5.0/en/views.html