Sprache:

Suche

Abrufen von Werten aus verschachtelten Beziehungen in Laravel

  • Teilen:
Abrufen von Werten aus verschachtelten Beziehungen in Laravel

Die Pflege von Datenbankbeziehungen in Laravel ist eine ziemliche Aufgabe, aber wenn es um verschachtelte Beziehungen geht, werden die Dinge ein wenig verworren, um sie zu handhaben.

In dem folgenden Beispiel sehen wir uns an, wie man verschachtelte Beziehungen in Laravel handhabt.

Bitte beachten Sie, dass dieses Beispiel keine Schritte zur Erstellung von Datenbankmigrationen und Seedern enthält.

Szenario

Nehmen wir ein Beispiel für Kunden und Produkte und ihre entsprechenden Typen. Die Beziehung zwischen Kunde und Produkt und zwischen Produkt und Typ ist hasMany beziehungsweise. Wir werden diese im Folgenden näher erläutern.

Customer Model

public function product() {
   //foreign_key, local_key
   return $this->hasMany( 'App\Product', 'customer_id', 'id' );
}

Product Model

public function type() {
   return $this->hasMany( 'App\Type' );
}

Mit der einfachen Einrichtung unserer Beziehung sind wir nun bereit, Daten aus unserer DB abzurufen.

Abrufen von Daten aus verschachtelten Beziehungen

Nehmen wir an, dass wir den vom Kunden ausgewählten Typnamen für ein Produkt abrufen müssen.

$customer = Customer::with('product.type')->findOrFail($customer_id);
$items = collect();
$m->product->each(function($q) use(&$items) {
 $items = $items->concat($q->type);
});
$name = $items->pluck('name');
dd($name);

Schlussfolgerung

Wenn Sie Fragen oder Feedback zu diesem Code haben. Hinterlassen Sie uns bitte einen Kommentar oder folgen Sie uns auf Twitter.

Usama Muneer

Usama Muneer

A web enthusiastic, self-motivated & detail-oriented professional Full-Stack Web Developer from Karachi, Pakistan with experience in developing applications using JavaScript, WordPress & Laravel specifically. Loves to write on different web technologies with an equally useful skill to make some sense out of it.