Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Hiển thị dữ liệu của Người dùng hiện tại và tên của nó trong thẻ đã chọn

Tôi không biết tại sao bạn cần tải current_user trong danh sách chọn. Nhưng bạn có thể tùy chỉnh lựa chọn trong mô hình người dùng như sau:

def user_for_select(user)
  self
    .where(id: user.id)
    .pluck("CASE WHEN id = #{user.id} THEN 'Me' ELSE name END AS name, id")
  end
end

Chỉnh sửa phụ thuộc vào nhận xét:

Thêm phương thức sau vào mô hình người dùng:

def is_manager?
   self.role == "manager"
end

Sau đó cập nhật lựa chọn như sau:

def user_for_select(user)
  if user.is_manager?
      self
        .pluck("CASE WHEN id = #{user.id} THEN 'Me' ELSE name END AS name, id")
        .unshift(['All', 'all'])
  else
       self
         .where(id: user.id)
         .pluck("CASE WHEN id = #{user.id} THEN 'Me' ELSE name END AS name, id")
  end
end


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP + MySQL:Sự khác biệt giữa truy vấn có bộ đệm và không có bộ đệm

  2. Truy xuất bản ghi bằng truy vấn JOIN

  3. Thay đổi định dạng đầu ra cho kết quả dòng lệnh MySQL thành CSV

  4. MySQL DROP INDEX

  5. ColdFusion:Nhiều câu lệnh SQL trong một truy vấn?