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

Рубиновые рельсы - выберите только несколько столбцов из базы данных

Каким образом в rails для структурирования SQL-запроса можно выбрать только определенные столбцы из базы данных, у меня есть несколько больших полей данных, которые я хочу избежать загрузки из непрерывных периодических вызовов ajax. Чтение излишне ресурсоемких и медленных.

@itemlist = Item.find(:all, :conditions => { .... } ) #this select all columns 

Я ищу SELECT name, address FROM users; вместо SELECT * FROM users;

4b9b3361

Ответ 1

Рельсы 3:

Item.select("name, address").where( .... )

Ответ 2

Используйте конструкцию :select. Попробуйте следующее:

@itemlist = Item.select('name, address', conditions: { .... } )

Для предыдущей версии Rails:

@itemlist = Item.find(:all,:select => 'name, address', :conditions => { .... } )

Ответ 3

Используя Arel (он же в Rails 3), используйте:

Item.where(...).select("name, address")

Кроме того, кажется .select игнорируется, если вы применяете к области, которая имеет: include = > ...

Ответ 4

@itemlist = Item.select('name, address').where(...#some condition)

Ответ 5

Попробуйте следующее:

@itemlist = Item.find(:all, :select => "name, address", :conditions => { .... } )