Рубрики
Ruby on Rails Программирование

Показать только значения определенных полей запрос ‘select’

Product.all 

=> #<ActiveRecord::Relation [#<
Product id: 4, title: "Docker for Rails Developers", description: "<p>\n      <em>Build, Ship, and Run Your Applicatio...", image_url: "ridocker.jpg", price: 0.38e2, created_at: "2021-02-15 18:08:44", updated_at: "2021-02-15 18:08:44">, 
#<Product id: 5, title: "Build Chatbot Interactions", description: "<p>\n      <em>Responsive, Intuitive Interfaces wit...", image_url: "dpchat.jpg", price: 0.2e2, created_at: "2021-02-15 18:08:44", updated_at: "2021-02-15 18:08:44">, 
#<Product id: 6, title: "Programming Crystal", description: "<p>\n      <em>Create High-Performance, Safe, Concu...", image_url: "crystal.jpg", price: 0.4e2, created_at: "2021-02-15 18:08:44", updated_at: "2021-02-15 18:08:44">]> Code language: PHP (php)
Product.select(:id, :title)
 
=> #<ActiveRecord::Relation [
#<Product id: 4, title: "Docker for Rails Developers">, 
#<Product id: 5, title: "Build Chatbot Interactions">, 
#<Product id: 6, title: "Programming Crystal">]>  Code language: PHP (php)

При таком вызове, обращение к другим данным объекта приведет к ошибке

ActiveModel::MissingAttributeError: missing attribute:

В примере выше этой ошибке не будет, так как в выбранных мною атрибутах есть поле ‘id’

Но я получу ошибку если вызову существующий, но не выбранный эллемент

ActiveModel::MissingAttributeError (missing attribute: image_url)


Что бы получить только по одной уникальной записи каждого поля:

Customer.select(:last_name).distinctCode language: CSS (css)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *