Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Pokaż aktualne dane Użytkownika i jego nazwę w wybranym tagu

Nie wiem, po co trzeba załadować current_user na liście wyboru. Możesz jednak dostosować wybór w modelu użytkownika w następujący sposób:

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

Edycja zależy od komentarza:

Dodaj następującą metodę w modelu użytkownika:

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

Następnie zaktualizuj wybór w następujący sposób:

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. LOAD DATA LOCAL INFILE zabronione w... PHP

  2. Jak wypełnić luki dat w MySQL?

  3. MySql :Przyznaj opcje tylko do odczytu?

  4. Zaawansowane łączenie MySQL. Przyspieszenie zapytania

  5. Odpowiednik PDO mysql_client_encoding()?