Ich habe drei Modelle, die ich verbinden muss.Wie richte ich eine benutzerdefinierte ActiveRecord-Zuordnung ein?
Diese Modelle sind:
Container
Item
ItemProperty
Ich kann nicht herausfinden, wie alle Elemente zum Container gehören, zu finden. Jedem Artikel sind viele ItemProperties zugeordnet. Von diesen Item-Eigenschaften gibt es mindestens eine, die die folgenden Daten enthält.
# id: 2164
# property_key: container_id
# property_value_integer: 1
# world_item_id: 438
# property_value_type: integer
# is_active: 1
Wie würde ich finden, welche Gegenstände in den Behälter gehören auf die ItemProperty basiert, die
property_key: container_id
property_value_integer: 1 (this is the id of the container)
Bitte helfen enthält, danke!
Aktuelle Verbände:
class ItemProperty < ApplicationRecord
belongs_to :item, :class_name => 'Item', :foreign_key => 'item_id'
end
class Item < ApplicationRecord
has_many :item_properties
end
Ich verstehe deine Frage nicht. Könnten Sie deutlich veranschaulichen, wie die Fremdschlüssel für jedes Modell eingerichtet sind? Verfügt auch jede Elementeigenschaft über property_value_integer oder nur einige? – sakurashinken
Es sieht so aus, als ob Ihre ItemProperty keine 'item_id' Attribute hat. Aber es gibt ein 'world_item_id' Attribute. Ich bin verwirrt ... – spickermann
Welchen Code haben Sie versucht und was war der Fehler, den er zeigte? –