In meiner Rails 4 App habe ich ein Item-Modell und ein Flag-Modell. Artikel has_many
Flaggen. Flaggen belong_to
Artikel. Flag hat die Attribute item_id
, user_id
und reason
. Ich brauche einen Weg, um ein zufälliges ausstehendes Element zu finden, das nicht markiert ist. Ich verwende enum
für ausstehenden Status.Wie finde ich ein zufälliges Element, das keine Zeilen in einer Join-Tabelle hat?
Ich glaube, ich kann eine zufällige ausstehende Position finden, die mit gekennzeichnet ist:
@pending_item = Item.pending.joins(:flags).order("RANDOM()").first
aber wie kann ich eine zufällige ausstehende Position finden, die nicht markiert ist?
Wenn ich eine sehr große Anzahl von ausstehenden Elementen habe, ist '.order (" RANDOM() "). Zuerst eine effiziente Möglichkeit, eine zufällige zu finden? – user4584963
Oh, ich wollte etwas dazu sagen. Ich habe meine Antwort hinzugefügt. –