Laravel Relationship
Beispiel Beziehung von einzelnen Einträgen innerhalb eines Models(Tabelle)
Durch das Hinzufügen von "parent_id" kann innerhalb einer Tabelle eine Beziehung zu einem anderen Eintrag hergestellt werden.
Ein Eintrag kann also mehrere Child-Einträge haben, diese bekommen als parent_id die id des ursprünglichen Eintrags. Dadurch können verschachtelte Abhängigkeiten (nested) abgebildet werden. Ein Eintrag kann also abhängig von einem Parent sein und selbst der Parent für mehrere Child-Einträge sein.
Tabellenlayout
Tabelle hashtags; Spalten: id, parent_id, name,created_at
Model
Im Model können die Beziehungen wie folgt hinterlegt werden:
Ein Eintrag kann mehrere childs haben, bzw. einen oder mehrere Parents:
public function parent() {
return $this->belongsTo('App\Hashtag','parent_id');
}
public function childs() {
return $this->hasMany('App\Hashtag','parent_id','id')->orderBy('created_at');
}
Controller: Eager Loading Specific Columns, nested: Parent and Child
Um die Beziehungen in der Abfrage im Controller gleich zu laden, kann folgendes Beispiel verwendet werden:
Hashtag::where('name','like','%'.$hashtag.'%')->select(['id', 'name','parent_id'])->with('childs.childs:parent_id,name', 'parent:id,name')
ManytoMany mit der gleichen Tabelle
Tabellenlayout
Tabelle hashtags; Spalten: id, name,created_at
Pivot-Tabele hashtag_hashtag; Spalten: id, hashtag_id, parent_id
Model
public function parent() {
return $this->belongsToMany('App\Hashtag','hashtag_hashtag','hashtag_id','parent_id');
}
public function childs() {
return $this->hasMany('App\Hashtag','parent_id','id')->orderBy('created_at');
}
Sync
Hashtag::where("name","Windows Batch")->first()->parent()->sync(Hashtag::where("name","Windows")->first())

{{percentage}} % positiv

DANKE für deine Bewertung!

Laravel Beispiel Tutorial - Schritt für Schritt
Wie in dem zuvor veröffentlichten Artikel "Übersicht Laravel Funktion" bereits angekündigt, habe ich für Laravel ein Praxis-Beispiel erstellt. Das Beispiel kann bestimmte Datenbankeinträge erstellen, anzeigen, bearbeiten und löschen. In einem nächsten Beispiel werde ich zu dem hier beschriebenen Beispiel eine Benutzeranmeldung und Berechtigung hinzufügen (Authentification, Authorization), vorerst starten wir ohne dieser .... ... weiterlesen

Laravel Vue
.vue Files setzen ein Webpack-Setup voraus ... ... weiterlesen

Laravel Authentication und Authorization Beispiel
Laravel ist für Benutzer-Anmeldungen bereits vorbereitet, das Aktivieren der Funktion erfolgt mit einem einfachen Befehl. ... weiterlesen