sql >> Database teknologi >  >> RDS >> PostgreSQL

Relation videregivet til #eller skal være strukturelt kompatibel. Inkompatible værdier:[:referencer]

Der er et kendt problem om det på Github.

Ifølge denne kommentar vil du måske tilsidesætte structurally_incompatible_values_for_or for at løse problemet:

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

Der er også altid en mulighed for at bruge SQL:

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


  1. Sådan beregnes forskellen mellem to datoer i SQLite

  2. Oracle SQL DATE-konverteringsproblem ved brug af iBATIS via Java JDBC

  3. Hvordan man bedst får nogens 'rang' fra en scoretabel med php og mysql uden looping

  4. datagrip Kan ikke anvende ændringer Denne tabel er skrivebeskyttet. Ændringer i celleeditoren kan ikke anvendes