sql >> Database >  >> RDS >> PostgreSQL

Relatie doorgegeven aan #or moet structureel compatibel zijn. Incompatibele waarden:[:referenties]

Er is een bekend probleem op Github.

Volgens deze opmerking wil je misschien de structurally_incompatible_values_for_or overschrijven om het probleem op te lossen:

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

Er is ook altijd een optie om SQL te gebruiken:

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


  1. Kan niet INSERT:FOUT:matrixwaarde moet beginnen met { of dimensie-informatie

  2. SQLServer IDENTITY Kolom met tekst

  3. SQL, hoe SELECT te gebruiken

  4. Hoe items uit de sqlite-database te verwijderen met de SQLiteOpenHelper-klasse