pluck(*column_names)
Instance Public methods
Use pluck
as a shortcut to select one or more attributes
without loading a bunch of records just to grab the attributes you want.
Person.pluck(:name)
instead of
Person.all.map(&:name)
Pluck returns an Array
of attribute values type-casted to
match the plucked column names, if they can be deduced. Plucking an SQL
fragment returns String values by default.
Person.pluck(:id) # SELECT people.id FROM people # => [1, 2, 3] Person.pluck(:id, :name) # SELECT people.id, people.name FROM people # => [[1, 'David'], [2, 'Jeremy'], [3, 'Jose']] Person.pluck('DISTINCT role') # SELECT DISTINCT role FROM people # => ['admin', 'member', 'guest'] Person.where(age: 21).limit(5).pluck(:id) # SELECT people.id FROM people WHERE people.age = 21 LIMIT 5 # => [2, 3] Person.pluck('DATEDIFF(updated_at, created_at)') # SELECT DATEDIFF(updated_at, created_at) FROM people # => ['0', '27761', '173']
Please login to continue.