Ich bin auf dieses Problem für eine Weile fest.'NICHT IN' oder .not() mit einem Array aus dem Modell
Ich habe einen Modellartikel mit einem Array gesehenby ID von Benutzern enthalten. Ich versuche, diese Artikel alle nicht von einem bestimmten Benutzer
so Artikel zu sehen bekomme ich bekam:
add_column :articles, :seenby, :string, array:true
für Beispiel der erste Artikel wurde von Benutzer [ „1“, „2“ gesehen worden , „3“]
jetzt habe ich Benutzer 4 und ich möchte von ihm alle Artikel noch nicht gesehen finden So würde ich
Article.where('4 NOT IN (?)', :seenby)
eine Abfrage wie haben aber das nicht funktioniert habe ich versucht, viele Dinge (mit .not auch), aber das Beispiel, das die ganze Zeit kommen, ist so etwas wie das:
something.where('4 NOT IN (?)', ['some', 'value'])
oder
something.not(field:value)
Hier muss ich die seenby des Artikels.
Thx viel, wenn Sie helfen können :)
Welche Art von Datenbank verwenden können, verwenden Sie? Nicht jeder Datenbanktyp unterstützt Arrays. Es könnte besser sein, eine Join-Tabelle 'Seen' zu haben, die zu' Article' und 'User' gehört. – SteveTurczyn
hallo, nein mein Array funktioniert einwandfrei, ich benutze postgre. Ja, ich muss vielleicht eine neue Tabelle erstellen, aber das wollte ich vermeiden. – hadesMM