[RUBY] Verein (eins zu viele)! !!

Was ist ein Verein? ?? : information_desk_person_tone1:

** Einfach ausgedrückt handelt es sich um eine Zuordnung zwischen Tabellen mithilfe eines Modells. Verknüpfen Sie die Tabellen miteinander und wechseln Sie von einem Modell zum anderen Es soll es zugänglich machen. ** ** **

* Dieses Mal erklären wir die "Eins-zu-Viele" -Verbindung. Es gibt auch "viele-zu-viele" und "eins-zu-eins" Assoziationen Ich werde es zu einem anderen Zeitpunkt vorstellen.

Gründe für die Assoziation

** In Rails gibt es zwei "Assoziationen" Es ist die Verbindung zwischen Active Record-Modellen. ** ** **

Sie müssen eine Verknüpfung zwischen den beiden Modellen herstellen. Kennst du den Grund?

** Das ist richtig, indem Sie häufigere Codeoperationen zuordnen Es ist einfach und leicht zu tun. ** ** **

Ich glaube nicht, dass Sie es verstehen können, selbst wenn es in Worten erklärt wird. Machen Sie es sich also leichter vorzustellen Unten ist ein Bild, das besagt, dass die Assoziation so ist.

Beispiel: Assoziation (eins zu viele)

アソシエーション.png

Das obige Beispiel basiert auf dem Bild von SNS usw., das Sie häufig verwenden. Ist es nicht leicht zu verstehen, wenn Sie es bekommen? Wenn "Mr. A" Sie selbst sind, haben Sie "Post 1" und "Post 4" gepostet. Das wird der Fall sein. Ich denke, das macht es leichter, sich vorzustellen! ?? Lol

Als nächstes werde ich erklären, wie man es tatsächlich schreibt.

Methode, die beim Definieren einer Zuordnung verwendet wird

Ich werde die beim Schreiben verwendete Methode vorstellen.

has_many Methode

** Aus Sicht des Benutzermodells werden mehrere Beiträge von einem Benutzer erstellt. Das heißt, ein Benutzer besitzt mehrere Beiträge. ** ** **

Wenn Sie sich das Bild oben ansehen, wird "Mr. A" "Post 1" und "Post 4" posten. Es bedeutet, dass Sie mehr als eine besitzen.

** Dieser Zustand heißt hat viele Beziehungen, In diesem Fall kann gesagt werden, dass es sich im Status "Benutzer hat viele Tweets" befindet. ** ** **

***   「User has many Tweets」 (Herr A hat viele Beiträge 1 und 4) ***

Um diese Zuordnung herzustellen, zeigt die Methode ** has_many </ font> **, dass zwischen dem Benutzer und anderen Modellen eine "Eins-zu-Viele" -Verbindung besteht.

Sie können leicht verstehen, was erklärt wird, indem Sie das Bild unten betrachten.

has many.png

gehört zur Methode

** Ein Beitrag wird von einem Benutzer gepostet. Mit anderen Worten, ein Beitrag gehört immer einem Benutzer, da mehrere Personen nicht einen Beitrag veröffentlichen können. ** ** **

In dem oben geposteten Bild wurde "Post 1" von "Mr. A" gepostet. Mit anderen Worten, Sie können nicht denselben Beitrag wie "Beitrag 1" wie "Herr B" veröffentlichen. "Post 1" bedeutet, dass Sie zu "Mr. A" gehören.

** Dieser Status wird als zu Beziehung gehörend bezeichnet. In diesem Fall kann er als Status "Tweet gehört zu Benutzer" bezeichnet werden. ** ** **

               「Tweet belongs to User」

(Post 1 gehört Herrn A)

Die Methode ** gehört zu </ font> ** zeigt, dass zwischen dem Tweet-Modell und einem anderen Modell (Benutzer) eine "Eins-zu-Eins" -Verbindung besteht.

belongs_to.png

Dieses Mal haben wir alle notwendigen Methoden zum Schreiben. Lass es uns tatsächlich schreiben! !!

So definieren Sie eine Zuordnung

Bitte beziehen Sie sich auf die bisherige Erklärung und darauf, was Sie sich vorstellen können Schreiben Sie es einfach auf! In diesem Beispiel möchte ich das Benutzermodell und das Tweet-Modell als Modellnamen verwenden.

Zunächst werde ich ein Beispiel aus dem Modell des Benutzers (Herr A) geben.

models/user.rb

class User < ApplicationRecord
  
  has_many :tweets
end

Die Schreibweise lautet has_many: Modellname (Plural). Der Grund, warum es Plural wird, ist, dass Benutzer (Herr A) es besitzt. Dies liegt daran, dass es mehrere Beiträge gibt (Beiträge 1 und 4).

Das ist alles für das Benutzermodell.

Abschließend werde ich ein Beispiel für das Tweet-Modell geben.

models/tweet.rb

 
  belongs_to :user
end

Die Schreibweise ist Gehör zu: Modellname (Einzelform). Ein Beitrag gehört einem Benutzer (Herr A) Es wird eine singuläre Form.

Sie haben jetzt eine Zuordnung zwischen dem Tweet-Modell und dem Benutzermodell.

Zusammenfassung

** 1. Assoziation ist die Assoziation zwischen Tabellen unter Verwendung eines Modells **

** 2.belongs_to-Methode ist eine Eins-zu-Eins-Zuordnung zwischen einem Modell und einem anderen Modell. Bei der im Fall verwendeten Methode wird es zu einer abhängigen Assoziation **

** 3. Die has_many-Methode ist eine "Eins-zu-Viele" -Zuordnung zwischen einem Modell und anderen Modellen. In der für den Fall verwendeten Methode bezieht es sich auf die eigene **

*** Dieses Mal erklärte ich über die "Eins-zu-Viele" -Verbindung. Es gibt auch "Eins-zu-Eins" - und "Viele-zu-Viele" -Verbindungen, das ist auch so Ich würde es gerne zu einem anderen Zeitpunkt erklären. Es mag verwirrend sein, aber die "Eins-zu-Viele" -Verbindung ist Ich hoffe du kannst verstehen wie es aussieht. *** ***

Vielen Dank!

Recommended Posts