0

Ich arbeite an einer Anwendung, bei der ich feststecke, eine Beziehung zu entscheiden. Die Situation ist folgende:Schienen - Was sind die richtigen 3-Wege-Tabellenbeziehungen?

Die implementierten Beziehungen sind:

Category has_many Items 
Outlets HABTM Categories 

Das Problem ist, dass Outlets many-to-many haben muss Beziehung mit dem Einzelteilmodell. Jetzt kann ich es umsetzen einfach mag:

Outlet HABTM Items 

, die mich mit outlet_id und item_id einen Tisch geben, aber in diesem Fall bin ich nicht sicher, wie die Liste der Elemente für eine Steckdose, um herauszufinden, für eine der Kategorien zugeordnet zu ihm.

Ich sah auch das has_many :through Beispiel, aber es schlägt auch vor, zwei fremde Schlüssel in der Tabelle zu haben; Ich glaube, dass es in diesem Fall drei sein sollte, outlet_id, category_id, item_id, wo in der Kombination aller 3 einzigartig sein wird.

Ich kann dies einfach mit Raw SQL-Abfragen implementieren, aber ich habe noch keine unbearbeiteten Abfragen verwendet und möchte so viel wie möglich vermeiden. Wie kann ich das mit Modellbeziehungen richtig machen?

Antwort

0

ich es tun möchte einfach:

Outlet has_many categories & Category has_many items 

Auf diese Weise können wir bekommen alle items für einen bestimmten category in einem outlet und auch alle Einzelteile für einen outlet durch categories bekommen kann.