2017-05-11 5 views
0

Ich bin neu in Ruby On Rails, Ich arbeite an einer Anwendung zu laden, die zueinander wie im Zusammenhang mehr Modelle enthalten:bester Weg, um mehrere Daten in Ruby on Rails-Anwendung

  1. Restaurant
  2. Branch
  3. Favourite
  4. Reviews
  5. User

Diese sind miteinander wie bezogen werden:

Restauranthas_many branches

Niederlassungbelongs_to restaurant, has_many favourites, has_many reviews

Benutzerhas_many favourites, has_many reviews

Ich schreibe eine API, wo ich ein keyword und user Id von params passieren und Rückkehr sollte Zweige mit der Adresse wie die keyword mit Restaurant, Favoriten zählen, Bewertungen zählen bezogen, und is_fav (true/false) für use_id Schlüssel innerhalb Zweig Hash.

nun jede und jeden Zweig der Mindestzeit aus der Datenbank ohne Schleife zu bekommen Daten innerhalb Ich versuche, den besten Weg zu finden und ein Restaurant, Favoriten, Bewertungen jede separate Abfrage.

Gibt es eine Möglichkeit, schnelle API-Leistung zu machen?

+0

Wie ich verstehe, möchten Sie SQL-Datenbank-Abfrage-Leistung gut schreiben. Ich könnte Ihnen helfen, aber Sie sollten Tabellendefinitionen Ihrer Modelle zuerst zur Verfügung stellen. Ich kann Sie jetzt über eine Sache beraten - [Counter Caches] (http://guides.rubyonrails.org/association_basics.html). Sie sollten dem Branch-Modell zwei Counter-Caches hinzufügen: reviews_count, favorites_count. Wenn ich deine Bedürfnisse richtig verstehe. – DjezzzL

Antwort

1

Dies ist, was Sie wollen.

Wahrscheinlich mehr Bedingungen für diese Beispielabfrage, die Sie hinzufügen und alle Daten erhalten können. FYI, dies würde eine einzelne Join-Abfrage auf die Datenbank anwenden.

Verwandte Themen