PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Връзката, предадена на # или трябва да е структурно съвместима. Несъвместими стойности:[:references]

Има известен проблем за това в Github.

Според този коментар може да искате да замените structurally_incompatible_values_for_or за преодоляване на проблема:

def structurally_incompatible_values_for_or(other)
  Relation::SINGLE_VALUE_METHODS.reject { |m| send("#{m}_value") == other.send("#{m}_value") } +
    (Relation::MULTI_VALUE_METHODS - [:eager_load, :references, :extending]).reject { |m| send("#{m}_values") == other.send("#{m}_values") } +
    (Relation::CLAUSE_METHODS - [:having, :where]).reject { |m| send("#{m}_clause") == other.send("#{m}_clause") }
end

Също така винаги има опция за използване на SQL:

@items
  .joins(:orders)
  .where("orders.user_id = ? OR items.available = true", current_user.id)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. CONSTRAINT за проверка на стойности от отдалечено свързана таблица (чрез присъединяване и т.н.)

  2. SQLAlchemy create_all() не създава таблици

  3. Защо PostgreSQL обедини потребители и групи в роли?

  4. Получаване на резултати между две дати в PostgreSQL

  5. Получаване на всички сгради в обхват от 5 мили от определени координати