Skip to content

need to sorting on user, admin and owner from enum instead of integer value 0, 1, 2 role: { user: 0, admin: 1, owner: 2 }  #1259

@ankush-maro

Description

@ankush-maro

I want to sort record on the basis of role string value like user, admin, owner instead of integer value 0, 1, 2,
anyone can help me for it.
users method is

  def users
    query = Membership.joins(
      "INNER JOIN users on member_id = users.id and member_type = 'User'"
    ).where(
      memberships: {
        account_id: params[:id]
      }
    ).select("users.*, memberships.role").ransack(params[:q])

    query.sorts = ['created_at desc'] if query.sorts.empty?
    results = query.result.page(params[:page]).per(params[:per_page])
    
    render json: results, status: 200
  end

membership model from where role enum type

class Membership < ApplicationRecord
  belongs_to :account
  belongs_to :member, polymorphic: true

  enum role: { user: 0, admin: 1, owner: 2 }, _suffix: true
end

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions